public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Fix nohz_full vs rt bandwidth
@ 2023-08-21  9:49 Hao Jia
  2023-08-21  9:49 ` [PATCH 1/2] sched/core: Introduce sched_class::can_stop_tick() Hao Jia
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Hao Jia @ 2023-08-21  9:49 UTC (permalink / raw)
  To: mingo, peterz, mingo, juri.lelli, vincent.guittot,
	dietmar.eggemann, rostedt, bsegall, mgorman, bristot, vschneid,
	pauld
  Cc: linux-kernel, Hao Jia

Since the commit 88c56cfeaec4 ("sched/fair: Block nohz tick_stop
when cfs bandwidth in use") was merged, it handles conflicts between
NOHZ full and cfs_bandwidth well, and the scheduler feature HZ_BW
allows us to choose which one to prefer.

This conflict also exists between NOHZ full and rt_bandwidth,
these two patches try to handle it in a similar way.

patch1: Extracts a can_stop_tick() callback function for each
sched_class from sched_can_stop_tick(), it will make things clearer
and also convenient to handle the conflict between NOHZ full
and rt_bandwidth.

patch2: If the HZ_BW scheduler feature is enabled, and the RT task
to be run is constrained by rt_bandwidth runtime. Then it will
prevent NO_HZ full from stopping tick.

Hao Jia (2):
  sched/core: Introduce sched_class::can_stop_tick()
  sched/rt: Block nohz tick_stop when rt bandwidth in use

 kernel/sched/core.c     | 67 +++++--------------------------
 kernel/sched/deadline.c | 16 ++++++++
 kernel/sched/fair.c     | 56 +++++++++++++++++++++++---
 kernel/sched/rt.c       | 89 ++++++++++++++++++++++++++++++++++++++++-
 kernel/sched/sched.h    |  5 ++-
 5 files changed, 168 insertions(+), 65 deletions(-)

-- 
2.39.2


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

end of thread, other threads:[~2023-09-12  3:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-21  9:49 [PATCH 0/2] Fix nohz_full vs rt bandwidth Hao Jia
2023-08-21  9:49 ` [PATCH 1/2] sched/core: Introduce sched_class::can_stop_tick() Hao Jia
2023-08-24  7:43   ` kernel test robot
2023-08-21  9:49 ` [PATCH 2/2] sched/rt: Block nohz tick_stop when rt bandwidth in use Hao Jia
2023-09-06  6:45 ` [PATCH 0/2] Fix nohz_full vs rt bandwidth Hao Jia
2023-09-07 14:17   ` Phil Auld
2023-09-08  2:57     ` [External] " Hao Jia
2023-09-08 12:45       ` Phil Auld
2023-09-11  3:39         ` Hao Jia
2023-09-11 13:25           ` Phil Auld
2023-09-12  2:35             ` Hao Jia

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox