Re: [RFC v2: Patch 1/3] net: hand off skb list to other cpu tosubmit to upper layer

From: David Miller
Date: Fri Mar 13 2009 - 14:52:05 EST


From: Tom Herbert <therbert@xxxxxxxxxx>
Date: Fri, 13 Mar 2009 10:06:56 -0700

> You'll definitely want to look at the hardware provided hash. We've
> been using a 10G NIC which provides a Toeplitz hash (the one defined
> by Microsoft) and a software RSS-like capability to move packets from
> an interrupting CPU to another for processing. The hash could be used
> to index to a set of CPUs, but we also use the hash as a connection
> identifier to key into a lookup table to steer packets to the CPU
> where the application is running based on the running CPU of the last
> recvmsg. Using the device provided hash in this manner is a HUGE win,
> as opposed to taking cache misses to get 4-tuple from packet itself to
> compute a hash. I posted some patches a while back on our work if
> you're interested.

I never understood this.

If you don't let the APIC move the interrupt around, the individual
MSI-X interrupts will steer packets to individual specific CPUS and as
a result the scheduler will migrate tasks over to those cpus since the
wakeup events keep occuring there.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/