On Fri, May 23, 2014 at 10:15:59AM +0530, Viresh Kumar wrote:
On 23 May 2014 03:07, Kevin Hilman khilman@linaro.org wrote:
This isn't specific to NO_HZ_FULL, but will happen in regular tickless idle (NO_HZ_IDLE) also.
Copying below from my reply to Frederic, he said the same thing :)
How exactly? I would have seen these fake interrupts in normal boot if that's the case as we go in and out of idle again and again.. The reason I can think of why it isn't happening for NO_HZ is: clockevent devices are normally part of CPU block (Atleast on ARM), and when CPU goes into some power down state, the even device goes as well..
Though there is one way it can happen for NO_HZ_IDLE, probably Preeti or Daniel told me this earlier and I forgot to mention it. i.e. the case of external event device.
-- This is new now :)
I still wasn't sure about the above case, though it sounds logical. And probably you guys can tell me if that's the case for some of the platforms atleast. Because as I said, it isn't happening for me with Exynos (dual A15) as timers are part of CPU block..
Anyway, kernel shouldn't make any assumptions here and should always try to stop clockevent when not in use..
Yeah. I mean I have no idea how x86 behaves with this. Whether all possible clock source: HPET, APIC, etc.. are always disabled on low power mode in idle. Also is it possible that the spurious interrupt fires before we enter low power mode? Does it depend on the cpufreq or governors?
And there are many other archs to consider. So yeah I think we just shouldn't make any assumption here.