Subject: Re: SMP re-entrancy in kernel drivers/"bottom half?"
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: David Laight <david@l8s.co.uk>
List: tech-kern
Date: 02/22/2005 23:57:17
On Wed, Feb 23, 2005 at 07:05:30AM +0900, YAMAMOTO Takashi wrote:
> hi,
> 
> > If I had my 'druthers, I'd like to see our TCP restructured along the
> > same lines as the TCP in IRIX. Ten years ago, I understand IRIX could
> > handle 10 gigabits (GSN, basically HIPPI on steroids) with one CPU
> > handling interrupts and packet demux , a second running the IP/TCP
> > code, and a third doing the bcopy()s to userspace.
> 
> i'm not sure if it's a good idea for today's cpus
> as passing mbufs among cpus increases cache misses.

My 'gut feel' also is that passing data between cpus is a cost hit.
Doing all the RX processing on a single cpu probably isn't a problem,
well not until we are talking about 8+ way systems that are doing nothing
else.

OTOH getting the TX side to run concurrently through the stack is somewhat
easier, and gives greater benefit - since you should be able to do all the
work in the context of the caller.  For a 'ring based' ethernet controller
this isn't actually that hard.

	David

-- 
David Laight: david@l8s.co.uk