Re: [PATCH 2/4] timer: relax tick stop in idle entry

Jacob Pan
2015-11-17T00:10:08Z

On Mon, 16 Nov 2015 23:01:12 +0100 (CET)
Thomas Gleixner <tglx@linutronix.de> wrote:

> > For the second case, which is much more rare, I think we do have
> > next timer exactly one tick away. Just don't know why tick will
> > continue into idle loop.
>
> Well, it should not be hard to figure that out. There are not so many
> checks involved when tick_nohz_irq_exit() is called.
Thanks for the tip, I found the cause is in
int idle_cpu(int cpu)
{
if (rq->nr_running)
return 0;

Since we only take into account of cfs_rq runnable taking over
cfs_rq->nr_running when forced_idle is set.

Jacob