[dpdk-dev] [PATCH 0/3] vhost: make virtqueue cache-friendly

Maxime Coquelin maxime.coquelin at redhat.com
Mon Jan 25 18:30:31 CET 2021



On 12/22/20 2:56 PM, Maxime Coquelin wrote:
> As done for Virtio PMD, this series improves cache utilization
> of the vhost_virtqueue struct by removing unused field,
> make the live-migration cache dynamically allocated at
> live-migration setup time and by moving fields
> around so that hot fields are on the first cachelines.
> 
> With this series, The struct vhost_virtqueue size goes
> from 832B (13 cachelines) down to 320B (5 cachelines).
> 
> With this series and the virtio one, I measure a gain
> of up to 8% in IO loop micro-benchmark with packed
> ring, and 5% with split ring.
> 
> I don't have a setup at hand to run PVP testing, but
> it might be interresting to get the numbers as I
> suspect the cache pressure is higher in this test as
> in real use-cases.
> 
> Maxime Coquelin (3):
>   vhost: remove unused Vhost virtqueue field
>   vhost: move dirty logging cache out of the virtqueue
>   vhost: optimize vhost virtqueue struct
> 
>  lib/librte_vhost/vhost.c      | 14 +++++++--
>  lib/librte_vhost/vhost.h      | 54 +++++++++++++++++------------------
>  lib/librte_vhost/vhost_user.c | 25 ++++++++++++++++
>  3 files changed, 64 insertions(+), 29 deletions(-)
> 
Deferring to v21.05 release.

Maxime



More information about the dev mailing list