Re: [net-next PATCH V2] virtio-net: switch to use XPS to choose txq
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2013-10-02 06:13:30
Also in:
lkml, virtualization
On Mon, Sep 30, 2013 at 10:10:40PM -0700, David Miller wrote:
From: Jason Wang <jasowang@redhat.com> Date: Mon, 30 Sep 2013 15:37:17 +0800quoted
We used to use a percpu structure vq_index to record the cpu to queue mapping, this is suboptimal since it duplicates the work of XPS and loses all other XPS functionality such as allowing use to configure their own transmission steering strategy. So this patch switches to use XPS and suggest a default mapping when the number of cpus is equal to the number of queues. With XPS support, there's no need for keeping per-cpu vq_index and .ndo_select_queue(), so they were removed also. Cc: Rusty Russell <redacted> Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com> --- Changes from V1: - use cpumask_of() instead of allocate dynamicallyThis generates build warnings: drivers/net/virtio_net.c: In function ‘virtnet_set_affinity’: drivers/net/virtio_net.c:1093:3: warning: passing argument 2 of ‘netif_set_xps_queue’ discards ‘const’ qualifier from pointer target type [enabled by default] In file included from drivers/net/virtio_net.c:20:0: include/linux/netdevice.h:2275:5: note: expected ‘struct cpumask *’ but argument is of type ‘const struct cpumask *’
Looks like we just need to tweak the signature there to const struct cpumask *: it's never changed. I just sent a patch [PATCH] netif_set_xps_queue: make cpu mask const that does exactly that. -- MST _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization