On Mon, Sep 30, 2013 at 10:10:40PM -0700, David Miller wrote: > From: Jason Wang <jasowang@xxxxxxxxxx> > Date: Mon, 30 Sep 2013 15:37:17 +0800 > > > 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 <rusty@xxxxxxxxxxxxxxx> > > Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> > > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> > > --- > > Changes from V1: > > - use cpumask_of() instead of allocate dynamically > > This 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@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization