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

From: David Miller
Date: Tue Oct 01 2013 - 01:03:53 EST


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 *ʼ
θΊ{.nΗ+?·???­?+%?Λlzwm?ιb?맲ζμrΈ?zX§»?w??{ayΊΚ?Ϊ?λ,j­ʼf£ʼ·h??ΰzΉ?w?ʼΈ ʼ·¦j:+v?¨?wθjΨmΆ??Ύ«?κηzZ+?ω???έʼj"?ϊ!ΆiO?ζ¬z·?vΨ^Άm§?πΓ nΖ?ΰώY&?