All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7 v3] move update blocked load outside newidle_balance
@ 2021-02-12 14:17 Vincent Guittot
  2021-02-12 14:17 ` [PATCH 1/7 v3] sched/fair: remove update of blocked load from newidle_balance Vincent Guittot
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Vincent Guittot @ 2021-02-12 14:17 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.

Changes on v3:
- Fixed a compilation error for !CONFIG_SMP && CONFIG_NO_HZ_COMMON
  reported by kernel test robot <lkp@intel.com>
- Took advantage of this new version to add a short desciption for
  nohz_run_idle_balance

Changes 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  | 118 +++++++++++++++++--------------------------
 kernel/sched/idle.c  |   6 +++
 kernel/sched/sched.h |   5 ++
 3 files changed, 57 insertions(+), 72 deletions(-)

-- 
2.17.1


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

end of thread, other threads:[~2021-02-17 15:37 UTC | newest]

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

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.