Re: [Query] Spurious interrupts from clockevent device on X86 Ivybridge

From: Santosh Shukla
Date: Wed Dec 10 2014 - 23:56:27 EST


On 11 December 2014 at 10:14, Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> wrote:
> On 12/10/2014 06:22 PM, Viresh Kumar wrote:
>> On 10 December 2014 at 18:03, Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> wrote:
>>
>>> Right. We get an interrupt when nobody had asked for it to be delivered
>>> or had asked for it to be delivered and later canceled the request. It
>>> is most often in the latter situation, that there can be race
>>> conditions. If these race conditions are not taken care of, they can
>>> result in spurious interrupts.
>>
>> But the delta time will be very small then, right ?
>
> I was talking of the case where we get an interrupt from the clockevent
> device but dont find the hrtimer to service and not really of an anomaly
> in timekeeping.
> For instance one of the issues that we had seen earlier wherein we
> cancel the tick-sched-timer before going tickless, but since we had
> programmed the clock event device to fire, we get a spurious interrupt.
>

I verified this case before reporting; In my case tick_sched_timer do
get cancelled before expire duration but then clk_evt_device get
reprogrammed for next time node in list. __remove_hrtimer() takes
care of that.

And in case there is no timer in list; We shut down the
clk_evt_device. Therefore no spurious interrupt in either of two
possible cases.
--
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/