Joel reported long preempt and irq off sequence in newidle_balance because of a large number of cgroups in used and having to be updated. This patchset moves the update outside newidle_imblance in order to enable early abort during the updates in case of pending irq as an example.
Instead of kicking a normal ILB that will wakes up CPU which is already idle, patch 5 triggers the update of statistics in the idle thread of the CPU before selecting and entering an idle state. Vincent Guittot (6): sched/fair: remove update of blocked load from newidle_balance sched/fair: remove unused parameter of update_nohz_stats sched/fair: merge for each idle cpu loop of ILB sched/fair: reorder newidle_balance pulled_task test sched/fair: trigger the update of blocked load on newly idle cpu sched/fair: reduce the window for duplicated update include/linux/sched/nohz.h | 2 + kernel/sched/fair.c | 100 +++++++++++-------------------------- kernel/sched/idle.c | 6 +++ 3 files changed, 38 insertions(+), 70 deletions(-) -- 2.17.1

