Re: [rfc net-next v6 2/3] virtio_net: multiqueue support
From: Jason Wang <jasowang@redhat.com>
Date: 2012-11-19 06:15:29
Also in:
kvm, lkml, netdev
On 11/05/2012 07:16 AM, Rusty Russell wrote:
Jason Wang [off-list ref] writes:quoted
This addes multiqueue support to virtio_net driver. There's two mode supported: single queue pair mode and multiple queue pairs mode. An obvious difference compared with a physical mq card is that virtio-net reserve first two virtqueues when it is working in multiqueue mode, this is used for implementing adaptive mode switching in the future. The virtqueues that were in both mq and sq mode were initialized and only one queue pair (single queue mode) were used at default. User could use ethtool -L to switch to multiqueue mode withe the next patch.Hi Jason, This first patch looks good, but conflates three things together: (1) Separate per-queue structures from struct virtnet_info to allow multiple queues. This is the mechanical part of the patch. (2) An annotation bugfix, see below. (3) Enabling mq using a new feature and negotiation.
Hi Rusty: Sorry for the late response, just back from vacation. For 1 and 3, I will split the patch as you suggested. For 2, will fix it. Thanks
quoted
@@ -700,7 +767,8 @@ static struct rtnl_link_stats64 *virtnet_stats(struct net_device *dev, unsigned int start; for_each_possible_cpu(cpu) { - struct virtnet_stats *stats = per_cpu_ptr(vi->stats, cpu); + struct virtnet_stats __percpu *stats + = per_cpu_ptr(vi->stats, cpu); u64 tpackets, tbytes, rpackets, rbytes; do {Cheers, Rusty. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html