[v3,0/7] vhost: generalize buffer vectors

Message ID 20180627144959.17277-1-maxime.coquelin@redhat.com (mailing list archive)


Maxime Coquelin June 27, 2018, 2:49 p.m. UTC
  This series is again preliminray work to ease packed ring
layout integration.

Main changes are using vector buffres also in the dequeue
path, and perform IOVA to HVA translation at vectors fill

I still have to run more benchmarks, but PVP benchmarks does
not show performance changes.

Good thing is that it saves ~140 further lines.

Changes since v2:
 - check vec_id doesn't overflow (Tiwei)
 - Fix perm parameters passed to fill_vec_buf (Tiwei)
 - Remove extra space in variable assignation (Tiwei)

Maxime Coquelin (7):
  vhost: use shadow used ring in dequeue path
  vhost: make gpa to hpa failure an error
  vhost: use buffer vectors in dequeue path
  vhost: translate iovas at vectors fill time
  vhost: improve prefetching in dequeue path
  vhost: prefetch first descriptor in dequeue path
  vhost: improve prefetching in enqueue path

 lib/librte_vhost/vhost.h      |   1 +
 lib/librte_vhost/virtio_net.c | 530 ++++++++++++++++--------------------------
 2 files changed, 199 insertions(+), 332 deletions(-)