Jason Wang <jasow...@redhat.com> writes:
> This addes multiqueue support to virtio_net driver. There's two mode 
> supported:
> single queue pair mode and multiple queue pairs mode. An obvious
> difference compared with a physical mq card is that virtio-net reserve
> first two virtqueues when it is working in multiqueue mode, this is
> used for implementing adaptive mode switching in the future. The
> virtqueues that were in both mq and sq mode were initialized and only
> one queue pair (single queue mode) were used at default. User could
> use ethtool -L to switch to multiqueue mode withe the next patch.

Hi Jason,

        This first patch looks good, but conflates three things
together:
(1) Separate per-queue structures from struct virtnet_info to allow
    multiple queues.  This is the mechanical part of the patch.
(2) An annotation bugfix, see below.
(3) Enabling mq using a new feature and negotiation.

> @@ -700,7 +767,8 @@ static struct rtnl_link_stats64 *virtnet_stats(struct 
> net_device *dev,
>       unsigned int start;
>  
>       for_each_possible_cpu(cpu) {
> -             struct virtnet_stats *stats = per_cpu_ptr(vi->stats, cpu);
> +             struct virtnet_stats __percpu *stats
> +                     = per_cpu_ptr(vi->stats, cpu);
>               u64 tpackets, tbytes, rpackets, rbytes;
>  
>               do {

Cheers,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to