LDREX/STREX and pre-emption on SMP hardware
Jamie Lokier
jamie at shareable.org
Fri Aug 21 11:50:11 EDT 2009
Catalin Marinas wrote:
> On Fri, 2009-08-21 at 16:07 +0100, Richard Crewe wrote:
> > Section A2.9.3 of the ARM architecture ref. manual seems to imply that
> > ldrex/strex instruction pairs won't work correctly if they are nested
> > due to pre-emption.
> >
> > Should a strex instruction be added to the low-level interrupt handler
> > or should all ldrex/strex instruction pairs be protected from
> > pre-emption by disabling interrupts?
>
> There is no need to since preemption means rescheduling which implies a
> call to the __switch_to function in entry-armv.S. This function clears
> the exclusive monitor state explicitly.
What about when an interrupt handler uses ldrex/strex? There is no
call to __switch_to.
-- Jamie
More information about the linux-arm-kernel
mailing list