Subject: Re: [net-next PATCH V2] virtio-net: switch to use XPS to choose txq

From: "Michael S. Tsirkin" <[email-masked]>
Date: Wed, 2 Oct 2013 09:15:45 +0300

On Mon, Sep 30, 2013 at 10:10:40PM -0700, David Miller wrote:
> From: Jason Wang <[email-masked]>
> 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 <[email-masked]>
> > Cc: Michael S. Tsirkin <[email-masked]>
> > Signed-off-by: Jason Wang <[email-masked]>
> > ---
> > 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
[email-masked]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization