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

From: Michael S. Tsirkin
Date: Wed Oct 02 2013 - 02:13:34 EST


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