From: Jason Wang <jasowang@redhat.com>
To: mst@redhat.com, jasowang@redhat.com
Cc: kvm@vger.kernel.org, virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
jfreimann@redhat.com, wexu@redhat.com, tiwei.bie@intel.com
Subject: [RFC V4 PATCH 0/8] Packed ring layout for vhost
Date: Wed, 16 May 2018 20:32:13 +0800 [thread overview]
Message-ID: <1526473941-16199-1-git-send-email-jasowang@redhat.com> (raw)
Hi all:
This RFC implement packed ring layout. The code were tested with
Tiwei's RFC V3 ahttps://lkml.org/lkml/2018/4/25/34. Some fixups and
tweaks were needed on top of Tiwei's code to make it run for event
index.
Pktgen reports about 20% improvement on PPS (event index is off). More
testing is ongoing.
Notes for tester:
- Start from this version, vhost need qemu co-operation to work
correctly. Or you can comment out the packed specific code for
GET/SET_VRING_BASE.
Changes from V3:
- Fix math on event idx checking
- Sync last avail wrap counter through GET/SET_VRING_BASE
- remove desc_event prefix in the driver/device structure
Changes from V2:
- do not use & in checking desc_event_flags
- off should be most significant bit
- remove the workaround of mergeable buffer for dpdk prototype
- id should be in the last descriptor in the chain
- keep _F_WRITE for write descriptor when adding used
- device flags updating should use ADDR_USED type
- return error on unexpected unavail descriptor in a chain
- return false in vhost_ve_avail_empty is descriptor is available
- track last seen avail_wrap_counter
- correctly examine available descriptor in get_indirect_packed()
- vhost_idx_diff should return u16 instead of bool
Changes from V1:
- Refactor vhost used elem code to avoid open coding on used elem
- Event suppression support (compile test only).
- Indirect descriptor support (compile test only).
- Zerocopy support.
- vIOMMU support.
- SCSI/VSOCK support (compile test only).
- Fix several bugs
Jason Wang (8):
vhost: move get_rx_bufs to vhost.c
vhost: hide used ring layout from device
vhost: do not use vring_used_elem
vhost_net: do not explicitly manipulate vhost_used_elem
vhost: vhost_put_user() can accept metadata type
virtio: introduce packed ring defines
vhost: packed ring support
vhost: event suppression for packed ring
drivers/vhost/net.c | 136 ++----
drivers/vhost/scsi.c | 62 +--
drivers/vhost/vhost.c | 861 ++++++++++++++++++++++++++++++++-----
drivers/vhost/vhost.h | 47 +-
drivers/vhost/vsock.c | 42 +-
include/uapi/linux/virtio_config.h | 9 +
include/uapi/linux/virtio_ring.h | 32 ++
7 files changed, 928 insertions(+), 261 deletions(-)
--
2.7.4
next reply other threads:[~2018-05-16 12:32 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-16 12:32 Jason Wang [this message]
2018-05-16 12:32 ` [RFC V4 PATCH 1/8] vhost: move get_rx_bufs to vhost.c Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-16 12:32 ` [RFC V4 PATCH 2/8] vhost: hide used ring layout from device Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-16 12:32 ` [RFC V4 PATCH 3/8] vhost: do not use vring_used_elem Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-16 12:32 ` [RFC V4 PATCH 4/8] vhost_net: do not explicitly manipulate vhost_used_elem Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-16 12:32 ` [RFC V4 PATCH 5/8] vhost: vhost_put_user() can accept metadata type Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-16 12:32 ` [RFC V4 PATCH 6/8] virtio: introduce packed ring defines Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-16 12:32 ` [RFC V4 PATCH 7/8] vhost: packed ring support Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-22 16:54 ` Wei Xu
2018-05-22 16:54 ` Wei Xu
2018-05-23 1:39 ` Jason Wang
2018-05-23 7:17 ` Wei Xu
2018-05-23 8:57 ` Jason Wang
2018-05-23 8:57 ` Jason Wang
2018-05-23 7:17 ` Wei Xu
2018-05-23 1:39 ` Jason Wang
2018-05-16 12:32 ` [RFC V4 PATCH 8/8] vhost: event suppression for packed ring Jason Wang
2018-05-16 12:32 ` Jason Wang
2018-05-25 2:28 ` Jason Wang
2018-05-25 2:28 ` Jason Wang
2018-05-20 16:25 ` [RFC V4 PATCH 0/8] Packed ring layout for vhost Wei Xu
2018-05-21 2:33 ` Jason Wang
2018-05-21 2:33 ` Jason Wang
2018-05-21 12:25 ` Wei Xu
2018-05-21 12:25 ` Wei Xu
2018-05-20 16:25 ` Wei Xu
-- strict thread matches above, loose matches on Subject: below --
2018-05-16 12:32 Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1526473941-16199-1-git-send-email-jasowang@redhat.com \
--to=jasowang@redhat.com \
--cc=jfreimann@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=tiwei.bie@intel.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=wexu@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.