lkml.org 
[lkml]   [2023]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/2] Fix nohz_full vs rt bandwidth
Date
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

\
 
 \ /
  Last update: 2023-08-21 11:50    [W:0.154 / U:0.960 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site