cvs commit: src/sys/net if.h

Alfred Perlstein alfred at freebsd.org
Tue Jun 12 18:22:37 UTC 2007


* Kip Macy <kip.macy at gmail.com> [070611 15:54] wrote:
> >I think its a windowism, stands for Receive Side Scaling, and what it means
> >is multiple receive queues, each with an MSI/X vector so they can interrupt
> >different CPUs, or they can be tied to virtual guests, or MACs, etc etc...
> 
> AFAICT FreeBSD can't currently benefit from this as there is no cpu
> affinity for connections. I may be wrong, but I see lower
> single-connection throughput using a receive queue per core than using
> a single receive queue. RSS is done by hashing a TCP tuple (I'm
> deliberately vague because at least with cxgb there are multiple
> combinations, the default is the standard 4-tuple) to a receive queue.

True, but support it is relatively trivial from the kernel PoV.

Basically you allow the process to fetch which cpu a socket is
bound to, then you can use descriptor passing (processes) or shared
fdtable (threads) and a call to bind to cpu to properly juggle
things around.

-- 
- Alfred Perlstein


More information about the cvs-src mailing list