[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1268840084.2899.363.camel@edumazet-laptop>
Date: Wed, 17 Mar 2010 16:34:44 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Tom Herbert <therbert@...gle.com>
Cc: Changli Gao <xiaosuo@...il.com>,
David Miller <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH v7] rps: Receive Packet Steering
Le mercredi 17 mars 2010 à 08:01 -0700, Tom Herbert a écrit :
> On Wed, Mar 17, 2010 at 7:09 AM, Eric Dumazet <eric.dumazet@...il.com> wrote:
> > Anyway, current sysfs RPS interface exposes
> > a /sys/class/net/eth0/queues/rx-0/rps_cpus bitmap,
> >
> > I guess we could expose another file,
> > /sys/class/net/eth0/queues/rx-0/rps_map
> > to give different weight to cpus :
> >
> > echo "0 1 0 1 0 1 1 1 1 1" >/sys/class/net/eth0/queues/rx-0/rps_map
> >
> > cpu0 would get 30% of the postprocessing load, cpu1 70%
> >
> > Using /sys/class/net/eth0/queues/rx-0/rps_cpus interface would give an
> > equal weight to each cpu :
> >
> >
> > # echo "0 1 0 1 0 1 1 1 1 1" >/sys/class/net/eth0/queues/rx-0/rps_map
> > # cat /sys/class/net/eth0/queues/rx-0/rps_cpus
> > 3
> > # cat /sys/class/net/eth0/queues/rx-0/rps_map
> > 0 1 0 1 0 1 1 1 1 1
> > # echo 3 >/sys/class/net/eth0/queues/rx-0/rps_cpus
> > # cat /sys/class/net/eth0/queues/rx-0/rps_map
> > 0 1
>
> Alternatively, the rps_map could be specified explicitly, which will
> allow weighting. For example "0 0 0 0 2 10 10 10" would select CPUs
> 0, 2, 10 for the map with weights four, one, and three respectively.
> This would go back to have sysfs files with multiple values in them,
> so it might not be the right interface.
>
Well, you describe same idea... being able to do
echo "0 1 0 1 0 1 1 1 1 1" >rps_map
or
echo "0 0 0 1 1 1 1 1 1 1" >rps_map
or
echo "0 1 1 0 1 1 0 1 1 1" >rps_map
(filling the real map[] with given cpu numbers)
I was interleaving my cpus because I found it cool :)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists