From: Krishna Kumar <krkumar2@in.ibm.com>
To: rusty@rustcorp.com.au, davem@davemloft.net, mst@redhat.com
Cc: eric.dumazet@gmail.com, arnd@arndb.de, netdev@vger.kernel.org,
horms@verge.net.au, avi@redhat.com, anthony@codemonkey.ws,
kvm@vger.kernel.org, Krishna Kumar <krkumar2@in.ibm.com>
Subject: [PATCH 0/4] [RFC rev2] Implement multiqueue (RX & TX) virtio-net
Date: Tue, 05 Apr 2011 20:38:26 +0530 [thread overview]
Message-ID: <20110405150826.20501.39679.sendpatchset@krkumar2.in.ibm.com> (raw)
This patchset implements both RX and TX MQ. Patch against virtio-net,
vhost and qemu are included.
Changes from rev1:
-------------------
1. vqs are allocated as: rx/tx, rx/tx, rx/tx, etc. Lot of code in
guest/host/qemu changes, but code becomes simpler.
2. vhost cache align of vhost_dev correctly.
3. virtio-net: cleanup properly on errors (eg detach buf for vq>0 as
pointed out by Micheal).
4. Minor changes:
- Fixed some typos.
- Changed vhost_get_thread_index to use MAX_VHOST_THREADS.
- Removed VIRTIO_MAX_TXQS.
- Changed capability to VIRTIO_NET_F_MULTIQUEUE.
- Modified "numtxqs" in virtnet_info to "num_queue_pairs".
virtnet_info still has numtxqs as it is more convenient.
- Moved code for VIRTIO_NET_F_CTRL_VLAN into probe function.
- Improve check for return value of virtio_config_val().
- Removed cache align directives in guest as it was redundant.
5. "If we have a wrapper to init all vqs, pls add a wrapper to clean up
all vqs as well": I haven't done this as some errors are very
specific to the failure location (and what was initialized till
then). So only those errors are cleaned up using goto's like the
rest of the code. I can change in next version if you feel this is
still required.
6. "I think we should have free_unused_bufs that handles a single queue,
and call it in a loop": I haven't done this as I think the caller wants
all rx/tx queues to be cleaned up by calling this function.
TODO's:
--------
1. Reduce vectors for find_vqs().
2. Make vhost changes minimal. For now, I have restricted the number of
vhost threads to 4. This can be either made unrestricted; or if the
userspace vhost works, it can be removed altogether.
Please review and provide feedback. I am travelling a bit in the next
few days but will respond at the earliest.
Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
next reply other threads:[~2011-04-05 15:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-05 15:08 Krishna Kumar [this message]
2011-04-05 15:08 ` [PATCH 1/4] [RFC rev2] Change virtqueue structure Krishna Kumar
2011-04-05 15:08 ` [PATCH 2/4] [RFC rev2] virtio-net changes Krishna Kumar
2011-04-13 1:28 ` Rusty Russell
2011-04-13 16:20 ` Krishna Kumar2
2011-04-05 15:09 ` [PATCH 3/4] [RFC rev2] vhost changes Krishna Kumar
2011-04-05 15:09 ` [PATCH 4/4] [RFC rev2] qemu changes Krishna Kumar
2011-04-13 12:00 ` [PATCH 0/4] [RFC rev2] Implement multiqueue (RX & TX) virtio-net Avi Kivity
2011-04-13 16:22 ` Krishna Kumar2
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=20110405150826.20501.39679.sendpatchset@krkumar2.in.ibm.com \
--to=krkumar2@in.ibm.com \
--cc=anthony@codemonkey.ws \
--cc=arnd@arndb.de \
--cc=avi@redhat.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=horms@verge.net.au \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox