Re: Interrupt handling in multi-processor environment
Re: Interrupt handling in multi-processor environment
- Subject: Re: Interrupt handling in multi-processor environment
- From: Quinn <email@hidden>
- Date: Tue, 18 Nov 2008 09:33:44 +0000
At 10:23 +1100 18/11/08, Rob Cas wrote:
When the sti/cli instruction is executed by
IOSimpleLockLockDisableInterrupts(), does it somehow have the effect
of disabling interrupts across all CPUs (or specifically the
'interrupt handling CPU'), or just on the CPU executing the code?
It only affects the calling CPU. This is pretty standard behaviour
for a kernel-level spin lock. You need to disable interrupts on the
calling CPU to prevent deadlocking against interrupt-level code
running on the same CPU. Code running on other CPUs, either
interrupt level or not, will spin on the lock.
S+E
--
Quinn "The Eskimo!" <http://www.apple.com/developer/>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden