mbox series

[net-next,V2,0/3] basic in order support for vhost_net

Message ID 20190109080530.18572-1-jasowang@redhat.com (mailing list archive)
Headers show
Series basic in order support for vhost_net | expand

Message

Jason Wang Jan. 9, 2019, 8:05 a.m. UTC
Hi:

This series implement basic in order feature support for
vhost_net. This feature requires both driver and device to use
descriptors in order which can simplify the implementation and
optimizaton for both side. The series also implement a simple
optimization that avoid read available ring. Test shows 10%
performance improvement at most.

More optimizations could be done on top.

Changes from V1:
- no code changes
- add result of SMAP off

Jason Wang (3):
  virtio: introduce in order feature bit
  vhost_net: support in order feature
  vhost: don't touch avail ring if in_order is negotiated

 drivers/vhost/net.c                |  6 ++++--
 drivers/vhost/vhost.c              | 19 ++++++++++++-------
 include/uapi/linux/virtio_config.h |  6 ++++++
 3 files changed, 22 insertions(+), 9 deletions(-)

Comments

Jason Wang Jan. 9, 2019, 12:19 p.m. UTC | #1
On 2019/1/9 下午4:05, Jason Wang wrote:
> Hi:
>
> This series implement basic in order feature support for
> vhost_net. This feature requires both driver and device to use
> descriptors in order which can simplify the implementation and
> optimizaton for both side. The series also implement a simple
> optimization that avoid read available ring. Test shows 10%
> performance improvement at most.
>
> More optimizations could be done on top.
>
> Changes from V1:
> - no code changes
> - add result of SMAP off


Just notice the patch works only for some specific case e.g a buffer 
only contain one descriptor. Will respin.

Thanks


>
> Jason Wang (3):
>    virtio: introduce in order feature bit
>    vhost_net: support in order feature
>    vhost: don't touch avail ring if in_order is negotiated
>
>   drivers/vhost/net.c                |  6 ++++--
>   drivers/vhost/vhost.c              | 19 ++++++++++++-------
>   include/uapi/linux/virtio_config.h |  6 ++++++
>   3 files changed, 22 insertions(+), 9 deletions(-)
>