All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7 v2] move update blocked load outside newidle_balance
@ 2021-02-12 13:28 Vincent Guittot
  2021-02-12 13:28 ` [PATCH 1/7 v2] sched/fair: remove update of blocked load from newidle_balance Vincent Guittot
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Vincent Guittot @ 2021-02-12 13:28 UTC (permalink / raw)
  To: mingo, peterz, juri.lelli, dietmar.eggemann, rostedt, bsegall,
	mgorman, bristot, linux-kernel, joel, valentin.schneider
  Cc: fweisbec, tglx, qais.yousef, Vincent Guittot

Joel reported long preempt and irq off sequence in newidle_balance because
of a large number of CPU cgroups in use and having to be updated. This
patchset moves the update outside newidle_imblance. This enables to 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 6 triggers the update of statistics in the idle thread of
the CPU before selecting and entering an idle state.

change on v2:
- Fixed some typos and updated some comments
- Added more cleanup
- Changed to way to trigger ILB in idle thread context to remove a possible
  race condition between the normal softirq ILB and this new mecanism. The
  cpu can already be set in idle_cpus_mask because even if the cpu is added
  later when entering idle, it might not have been removed yet from previous
  idle phase.
  
Vincent Guittot (7):
  sched/fair: remove update of blocked load from newidle_balance
  sched/fair: remove unused return of _nohz_idle_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 tests
  sched/fair: trigger the update of blocked load on newly idle cpu
  sched/fair: reduce the window for duplicated update

 kernel/sched/fair.c  | 114 ++++++++++++++++---------------------------
 kernel/sched/idle.c  |   6 +++
 kernel/sched/sched.h |   3 ++
 3 files changed, 51 insertions(+), 72 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-02-12 13:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-12 13:28 [PATCH 0/7 v2] move update blocked load outside newidle_balance Vincent Guittot
2021-02-12 13:28 ` [PATCH 1/7 v2] sched/fair: remove update of blocked load from newidle_balance Vincent Guittot
2021-02-12 13:28 ` [PATCH 2/7 v2] sched/fair: remove unused return of _nohz_idle_balance Vincent Guittot
2021-02-12 13:28 ` [PATCH 3/7 v2] sched/fair: remove unused parameter of update_nohz_stats Vincent Guittot
2021-02-12 13:28 ` [PATCH 4/7 v2] sched/fair: merge for each idle cpu loop of ILB Vincent Guittot
2021-02-12 13:28 ` [PATCH 5/7 v2] sched/fair: reorder newidle_balance pulled_task tests Vincent Guittot
2021-02-12 13:28 ` [PATCH 6/7 v2] sched/fair: trigger the update of blocked load on newly idle cpu Vincent Guittot
2021-02-12 13:28 ` [PATCH 7/7 v2] sched/fair: reduce the window for duplicated update Vincent Guittot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.