Messages in this thread | | | From | Andi Kleen <> | Subject | Re: [PATCH] x86_64 add missing enter_idle() calls | Date | Sat, 21 Oct 2006 15:22:53 +0200 |
| |
> I finally found the culprit for this. The current code is wrong for the > simple reason that the cpu_idle() function is NOT always the lowest level > idle loop function. For enter_idle()/__exit_idle() to work correctly they > must be placed in the lowest-level idle loop. The cpu_idle() eventually ends > up in the idle() function, but this one may have a loop in it! This is the > case when idle()=cpu_default_idle() and idle()=poll_idle(), for instance.
Ah now I remember - i had actually fixed that (it was the cleanup-idle-loops patch) that moved the loops one level up. But then I disabled the patch at the request of Andrew because it conflicted with some ACPI idle changes.
I'll readd it for .20, then things should be ok.
-Andi - 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/
| |