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]

Reply via email to