Subject: Re: splx() optimization [was Re: SMP re-eetrancy in "bottom half" drivers]
To: Bill Studenmund <wrstuden@netbsd.org>
From: Jonathan Stone <jonathan@dsg.stanford.edu>
List: tech-kern
Date: 06/02/2005 11:36:33
Bill STudenmund writes:
>On Wed, Jun 01, 2005 at 03:01:11PM +0900, YAMAMOTO Takashi wrote:
[[ Jonathan claims a consensus for ordering of SPLs]]
>> i don't see any needs to have all interrupts ordered.
>> i won't object if you want to make them ordered as
>> a transient convention, tho.
>I thought the point was that interrupt handlers now will use spin locks to
>protect their data. When an interrupt handler runs, it will run with SPL
>set to block its interrupt on the CPU it's on, and it will also grab a
>spinlock so that no other CPU services this interrupt (and also keep other
>processing that would now block interrupts out of the data).
>
>The locks will need to be ordered to avoid deadlock. As there will be a
>correspondence between locks and SPL, we will then need to order SPL to
>avoid deadlock.
>
>Thus we will have a hierarchy to SPL levels.
>
>Am I missing something?
Hi Bill,
That's pretty much the argument I was making in late 2003/early 2004;
thank you for a clear concise statement. I see Yamamoto-san said, in reply:
>i have objection if you implies global IPLs.
>(like your original proposal in 2003)
Now that leaves me confused! I thought what Bill outlines is, in
essence, what I proposed in late 2003. Yamamoto-san, do they sound
like the same thing to you? Do we have a consensus for it (or for one
or other, if they are different)?