[v4,0/5] vhost: generalize buffer vectors

Message ID 20180706070449.1946-1-maxime.coquelin@redhat.com (mailing list archive)
Headers
Series vhost: generalize buffer vectors |

Message

Maxime Coquelin July 6, 2018, 7:04 a.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
time.

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 v3:
=================
- Fix dequeue_zero_copy last_used_idx update (Tiwei)
- Remove "vhost: make gpa to hpa failure an error" patch (Tiwei)

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 (5):
  vhost: use shadow used ring in dequeue path
  vhost: use buffer vectors in dequeue path
  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 | 517 ++++++++++++++++--------------------------
 2 files changed, 193 insertions(+), 325 deletions(-)
  

Comments

Tiwei Bie July 9, 2018, 1:39 a.m. UTC | #1
On Fri, Jul 06, 2018 at 09:04:44AM +0200, Maxime Coquelin wrote:
> 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
> time.
> 
> 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 v3:
> =================
> - Fix dequeue_zero_copy last_used_idx update (Tiwei)
> - Remove "vhost: make gpa to hpa failure an error" patch (Tiwei)
> 
> 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 (5):
>   vhost: use shadow used ring in dequeue path
>   vhost: use buffer vectors in dequeue path
>   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 | 517 ++++++++++++++++--------------------------
>  2 files changed, 193 insertions(+), 325 deletions(-)
> 
> -- 
> 2.14.4
> 

For the series:
Acked-by: Tiwei Bie <tiwei.bie@intel.com>
  
Tiwei Bie July 9, 2018, 7:01 a.m. UTC | #2
On Fri, Jul 06, 2018 at 09:04:44AM +0200, Maxime Coquelin wrote:
> 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
> time.
> 
> 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 v3:
> =================
> - Fix dequeue_zero_copy last_used_idx update (Tiwei)
> - Remove "vhost: make gpa to hpa failure an error" patch (Tiwei)
> 
> 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 (5):
>   vhost: use shadow used ring in dequeue path
>   vhost: use buffer vectors in dequeue path
>   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 | 517 ++++++++++++++++--------------------------
>  2 files changed, 193 insertions(+), 325 deletions(-)
> 
> -- 
> 2.14.4
> 

Applied to dpdk-next-virtio/master, thanks.