On 9 April 2014 16:03, Viresh Kumar viresh.kumar@linaro.org wrote:
Hi Frederic,
File: kernel/time/tick-sched.c Function: tick_nohz_full_stop_tick()
We are doing this:
if (!tick_nohz_full_cpu(cpu) || is_idle_task(current)) return;
Which means: if a FULL_NO_HZ cpu is running idle task currently, don't stop its tick..
I couldn't understand why. Can you please help here?
Is it because of this code ? :
void tick_nohz_irq_exit(void) { struct tick_sched *ts = &__get_cpu_var(tick_cpu_sched);
if (ts->inidle) __tick_nohz_idle_enter(ts); else tick_nohz_full_stop_tick(ts); }
i.e. tick_nohz_full_stop_tick() would never be called while we have 'inidle' set or we are running idle task?
In this case as well, we don't really need that check to be present.