Messages in this thread | | | Date | Thu, 23 Feb 2006 22:24:53 -0500 (EST) | From | Alan Stern <> | Subject | Re: [PATCH] The idle notifier chain should be atomic |
| |
On 24 Feb 2006, Andi Kleen wrote:
> Alan Stern <stern@rowland.harvard.edu> writes: > > > This patch (as658) makes the idle_notifier in x86_64 and idle_chain in > > s390 into atomic notifier chains rather than blocking chains. This is > > necessary because they are called during IRQ handling as CPUs leave and > > enter the idle state. > > Actually they aren't. While the code is called from the interrupt > handler logically it belong to the idle thread, not the interrupt handler. > They are only called when the interrupt directly interrupts the idle > thread, so no atomicity needed.
In do_IRQ() there's a call to exit_idle(), which calls __exit_idle(), which runs the idle_notifier call chain. Surely you're not saying that we can do a down_read() in this pathway?
And actually the chain's type doesn't seem to make much difference, since at the moment there's nothing in the vanilla kernel that registers for the idle_notifier chain.
> -Andi > > P.S.: Please cc maintainers in the future.
Yes, I should have sent the patch to you too. I apologize.
Alan Stern
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |