From: Tiwei Bie <tiwei.bie@intel.com>
To: Jens Freimann <jfreimann@redhat.com>
Cc: dev@dpdk.org, maxime.coquelin@redhat.com, zhihong.wang@intel.com
Subject: Re: [PATCH v9 0/8] implement packed virtqueues
Date: Thu, 25 Oct 2018 17:44:54 +0800 [thread overview]
Message-ID: <20181025094454.GA24608@debian> (raw)
In-Reply-To: <20181024143236.21271-1-jfreimann@redhat.com>
On Wed, Oct 24, 2018 at 04:32:28PM +0200, Jens Freimann wrote:
> This is a basic implementation of packed virtqueues as specified in the
> Virtio 1.1 draft. A compiled version of the current draft is available
> at https://github.com/oasis-tcs/virtio-docs.git (or as .pdf at
> https://github.com/oasis-tcs/virtio-docs/blob/master/virtio-v1.1-packed-wd10.pdf
>
> A packed virtqueue is different from a split virtqueue in that it
> consists of only a single descriptor ring that replaces available and
> used ring, index and descriptor pointers.
>
> Each descriptor is readable and writable and has a flags field. These flags
> will mark if a descriptor is available or used. To detect new available descriptors
> even after the ring has wrapped, device and driver each have a
> single-bit wrap counter that is flipped from 0 to 1 and vice versa every time
> the last descriptor in the ring is used/made available.
Do we have the performance numbers which can show the
performance improvements in driver and vhost?
Thanks
>
> v8-v9:
> * fix virtio_ring_free_chain_packed() to handle descriptors
> correctly in case of out-of-order
> * fix check in virtqueue_xmit_cleanup_packed() to improve performance
>
> v7->v8:
> * move desc_is_used change to correct patch
> * remove trailing newline
> * correct xmit code, flags update and memory barrier
> * move packed desc init to dedicated function, split
> and packed variant
>
>
> Jens Freimann (8):
> net/virtio: vring init for packed queues
> net/virtio: add packed virtqueue defines
> net/virtio: add packed virtqueue helpers
> net/virtio: dump packed virtqueue data
> net/virtio: implement transmit path for packed queues
> net/virtio: implement receive path for packed queues
> net/virtio: add virtio send command packed queue support
> net/virtio: enable packed virtqueues by default
>
> drivers/net/virtio/virtio_ethdev.c | 154 ++++++--
> drivers/net/virtio/virtio_ethdev.h | 5 +
> drivers/net/virtio/virtio_pci.h | 7 +
> drivers/net/virtio/virtio_ring.h | 105 +++++-
> drivers/net/virtio/virtio_rxtx.c | 560 +++++++++++++++++++++++++++--
> drivers/net/virtio/virtqueue.c | 22 ++
> drivers/net/virtio/virtqueue.h | 42 ++-
> 7 files changed, 841 insertions(+), 54 deletions(-)
>
> --
> 2.17.1
>
prev parent reply other threads:[~2018-10-25 9:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-24 14:32 [PATCH v9 0/8] implement packed virtqueues Jens Freimann
2018-10-24 14:32 ` [PATCH v9 1/8] net/virtio: vring init for packed queues Jens Freimann
2018-10-25 9:21 ` Tiwei Bie
2018-10-25 13:48 ` Jens Freimann
2018-10-25 13:51 ` Maxime Coquelin
2018-10-25 15:12 ` Jens Freimann
2018-10-26 6:01 ` Tiwei Bie
2018-10-24 14:32 ` [PATCH v9 2/8] net/virtio: add packed virtqueue defines Jens Freimann
2018-10-25 9:22 ` Tiwei Bie
2018-10-25 14:41 ` Jens Freimann
2018-10-24 14:32 ` [PATCH v9 3/8] net/virtio: add packed virtqueue helpers Jens Freimann
2018-10-25 9:23 ` Tiwei Bie
2018-10-25 14:40 ` Jens Freimann
2018-10-24 14:32 ` [PATCH v9 4/8] net/virtio: dump packed virtqueue data Jens Freimann
2018-10-25 9:25 ` Tiwei Bie
2018-10-25 13:54 ` Jens Freimann
2018-10-24 14:32 ` [PATCH v9 5/8] net/virtio: implement transmit path for packed queues Jens Freimann
2018-10-24 16:55 ` Maxime Coquelin
2018-10-25 10:59 ` Jens Freimann
2018-10-25 9:31 ` Tiwei Bie
2018-10-25 13:19 ` Jens Freimann
2018-10-25 10:46 ` Jens Freimann
2018-10-24 14:32 ` [PATCH v9 6/8] net/virtio: implement receive " Jens Freimann
2018-10-25 9:39 ` Tiwei Bie
2018-10-25 13:54 ` Jens Freimann
2018-10-26 5:43 ` Tiwei Bie
2018-10-31 12:46 ` Jens Freimann
2018-10-25 10:53 ` Jens Freimann
2018-10-24 14:32 ` [PATCH v9 7/8] net/virtio: add virtio send command packed queue support Jens Freimann
2018-10-24 14:32 ` [PATCH v9 8/8] net/virtio: enable packed virtqueues by default Jens Freimann
2018-10-26 6:06 ` Tiwei Bie
2018-11-02 8:58 ` Jens Freimann
2018-10-25 9:44 ` Tiwei Bie [this message]
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=20181025094454.GA24608@debian \
--to=tiwei.bie@intel.com \
--cc=dev@dpdk.org \
--cc=jfreimann@redhat.com \
--cc=maxime.coquelin@redhat.com \
--cc=zhihong.wang@intel.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.