I currently try to understand the schedule() function, and I don't
understand why release_kernel_lock() calls release_irqlock() and __sti().
* #define release_kernel_lock(task, cpu) \
* do { \
* if (task->lock_depth >= 0) \
* spin_unlock(&kernel_flag); \
* release_irqlock(cpu); \
* __sti(); \
* } while (0)
release_kernel_lock()
- is only called from schedule()
- schedule() ignores all calls if in_interrupt() returns true.
Is this call to release_irqlock() required, or is this call there for
historic reasons?
Is there someone who calls schedule() after cli()?
Regards,
Manfred
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]