[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1268893232.2894.65.camel@edumazet-laptop>
Date: Thu, 18 Mar 2010 07:20:32 +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 à 16:50 -0700, Tom Herbert a écrit :
> >>
> >> # 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.
>
> Here is a patch for this...
>
> Allow specification of CPUs in rps to be done with a vector instead of a bit map. This allows relative weighting of CPUs in the map by repeating ones to give higher weight.
>
> For example "echo 0 0 0 3 4 4 4 4 > /sys/class/net/eth0/queues/rx-0/rps_cpus"
>
> assigns CPUs 0, 3, and 4 to the RPS mask with relative weights 3, 1, and 4 respectively.
>
Hmm...
I believe we should keep existing sysfs cpumask interface, because its
the only workable thing on a PAGE_SIZE=4096 machine with 4096 cpus.
strlen("0 1 2 3 4 ... 4095") = 19369
Using base 16 instead of base 10 -> 16111
--
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