Subject: Re: SMP re-entrancy in kernel drivers/"bottom half?"
To: None <jonathan@dsg.stanford.edu>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: tech-kern
Date: 12/18/2003 11:26:28
> I'm suggesting a slightly more subtle variant, where instead of a
> `global' lock for IP_BIO and IPL _NET, each (SMP-save) device has its
> own spinlock, in the softc, which is used to serialise entry to the
> device-driver entrypoints. (Code at the start of each entrypoint has
> to spin getting the lock.)
> 
> Hm. Data structures outside such SMP-save drivers still need a
> (`global', in your term) spinlock corresponding to IPL_NET or IP_BIO.
> 
> If it helps, you could think of the proposed spinlocks in each
> (proposed smp-safe) driver softc as being just infinitesimally lower
> than the `global' splnet()/IPL_NET or splbio()/IPL_BIO spinlock.

then, before you acquire the lock in softc,
you have to acquire all of lower spl's "global" locks, haven't you?

or, you meant, proposed smp-safe drivers can run without raising spl?
in that case, what prevents recursive interrupts?

YAMAMOTO Takashi