2
votes

The linux kernel spin_lock implementation disable the preemption by invoking preempt_disable(). In my kernel configuration CONFIG_PREEMPT is not set. Since the interrupts are not disabled during spin_lock interrupt handler can call schedule(). Can anybody please point out the code where the scheduler is not schedule another process since it has acquired a spin_lock.

1

1 Answers

3
votes

Interrupt handlers are not allowed to call schedule().