Of course. I'm obviously not making my question sufficiently clear.
What you seem to be telling me is that some IRQ code modifies critical
data outside of a cli/sti pair. If this were not true, then simply
making sure that at most one processor was within a cli/sti pair
would suffice.
On a related issue. In this SMP design, it looks like cli has no
effect at all on non-irq kernel mode. That is, if one processor
does a cli while in a system call, nothing prevents a second processor
from also doing a cli and entering the same code. Did I miss something?
>
>> In any event, I think that the rtlinux soft-interrupts fits into this
>> scheme quite well and should make the irq_lock unecessary.
>
>I don't believe you can make the irq_lock unnecessary - _something_ like
>that is needed anyway.
Something like it is needed anyway by rtlinux. But the soft-interrupt
lock will prevent non-rt code from getting as far as enter_irq.
We'll see when the code is written.