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