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

Reply via email to