Re: [PATCH] The idle notifier chain should be atomic

From: Alan Stern
Date: Thu Feb 23 2006 - 22:22:38 EST


On 24 Feb 2006, Andi Kleen wrote:

> Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/