[PATCH 0/4] [RFC rev2] Implement multiqueue (RX & TX) virtio-net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
---
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux