Subject: Re: SMP re-entrancy in kernel drivers/"bottom half?"
To: None <email@example.com>
From: YAMAMOTO Takashi <firstname.lastname@example.org>
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?