Subject: Re: Interrupt, interrupt threads, continuations, and kernel lwps
To: None <jonathan@dsg.stanford.edu>
From: Andrew Doran <ad@netbsd.org>
List: tech-kern
Date: 02/22/2007 21:24:47
On Thu, Feb 22, 2007 at 09:13:36AM -0800, jonathan@dsg.stanford.edu wrote:

> The second scenario doesn't have context switches; interrupt
> processing is done in the context of the interrupt traps.
> That's the difference, and on most CPU architectures, it's a
> significant difference.
>
> Compare the TCP rates (multiple ttcp sessions on multiple NICs) that
> uniprocessor NetBSD-3.1 can sustain, to what FreeBSD-6 can sustain on
> the same hardware --- even *with* SMP and multiple CPUs, and even with

That drop in performance what I want to avoid. I said this can just be
dropped in. What that means is until you start making use of locking
primitives in your interrupt handlers, there are no additional context
swtiches. And when you do, you had better be bechmarking it and using
vmstat, lockstat, etc. to make sure that the assumptions you have made
are good ones.

Andrew