Hi Frederic/Kevin,
I was doing some work where I was required to use NO_HZ_FULL on core 1 on a dual core ARM machine.
I observed that I was able to isolate the second core using cpusets but whenever the tick occurs, it occurs twice. i.e. Timer count gets updated by two every time my core is disturbed.
I tried to trace it (output attached) and found this sequence (Talking only about core 1 here): - Single task was running on Core 1 (using cpusets) - got an arch_timer interrupt - started servicing vmstat stuff - so came out of NO_HZ_FULL domain as there is more than one task on Core - queued work again and went to the existing single task (stress) - again got arch_timer interrupt after 5 ms (HZ=200) - got "tick_stop" event and went into NO_HZ_FULL domain again.. - Got isolated again for long duration..
So the query is: why don't we check that at the end of servicing vmstat stuff and migrating back to "stress" ??
Thanks.
-- viresh