Subject: Re: [PATCH v5] rps: Receive Packet Steering

From: Stephen Hemminger <[email-masked]>
Date: Sun, 17 Jan 2010 09:22:21 -0800

On Sat, 16 Jan 2010 02:11:33 +0000
Ben Hutchings <[email-masked]> wrote:

> On Thu, 2010-01-14 at 14:56 -0800, Stephen Hemminger wrote:
> > On Thu, 14 Jan 2010 13:56:23 -0800 (PST)
> > Tom Herbert <[email-masked]> wrote:
> [...]
> > > The CPU masks is set on a per device basis in the sysfs variable
> > > /sys/class/net/<device>/rps_cpus.  This is a set of canonical bit maps for
> > > each NAPI nstance of the device.  For example:
> > > 
> > > echo "0b 0b0 0b00 0b000" > /sys/class/net/eth0/rps_cpus
> > 
> > Why not make a kobject out of cpus which would add subdirectory.
> > This would keep interface consistent with the one value per file
> > semantic of sysfs.
> 
> Do you mean a kobject per NAPI context, each initially with a rps_cpus
> attribute holding a CPU mask, or a kobject per CPU, each with an
> attribute specifying which NAPI contexts it does work for?  (Personally
> I'd favour the first.)

Yes, make NAPI real kobjects, linked to device.

BUT
make sure this also handles case of N to 1 mapping as well
as 1 to N case.