[PATCH 0/2] Move uclamp to each sched_class

Hongyan Xia posted 2 patches 1 year, 5 months ago
kernel/sched/core.c                      | 14 ++------------
kernel/sched/ext.c                       | 16 ++++++++++++----
kernel/sched/fair.c                      |  6 ++----
kernel/sched/rt.c                        |  7 +++----
kernel/sched/sched.h                     | 15 +++++++++++----
tools/sched_ext/include/scx/common.bpf.h |  2 ++
6 files changed, 32 insertions(+), 28 deletions(-)
[PATCH 0/2] Move uclamp to each sched_class
Posted by Hongyan Xia 1 year, 5 months ago
Hi. I only just started looking at sched_ext a couple of days ago so
feel free to correct me if sched_ext patches have different rules,
different cc's and different mailing lists than normal LKML.

This mini series delegates uclamp operations to each sched_class. The
problem with the current handling of uclamp is that it seems to be a
global thing but it conditions on sched_class->uclamp_enabled anyway, so
it is in fact already kind of sched_class-specific. So, remove
sched_class->uclamp_enabled and just let each class decide what to do.

More importantly, sched_ext no longer unconditionally follows the
existing uclamp implementation, but instead each custom scheduler
decides itself what to do. It can re-use the existing uclamp, ignore
uclamp completely, or have its own uclamp implementation.

Some simple testing with trace_printk() shows uclamp_rq_{inc,dec}() are
called successfully from a sched_ext scheduler:

	[002] d..21  1016.017441: uclamp_rq_dec: sched_ext uclamp dec
	[002] dN.21  1016.017456: uclamp_rq_inc: sched_ext uclamp inc

Hongyan Xia (2):
  sched/uclamp: Delegate uclamp to each sched_class
  sched/ext: Add BPF functions for uclamp inc and dec

 kernel/sched/core.c                      | 14 ++------------
 kernel/sched/ext.c                       | 16 ++++++++++++----
 kernel/sched/fair.c                      |  6 ++----
 kernel/sched/rt.c                        |  7 +++----
 kernel/sched/sched.h                     | 15 +++++++++++----
 tools/sched_ext/include/scx/common.bpf.h |  2 ++
 6 files changed, 32 insertions(+), 28 deletions(-)

-- 
2.34.1
Re: [PATCH 0/2] Move uclamp to each sched_class
Posted by Tejun Heo 1 year, 5 months ago
Hello,

On Wed, Jul 03, 2024 at 11:07:46AM +0100, Hongyan Xia wrote:
> Hi. I only just started looking at sched_ext a couple of days ago so
> feel free to correct me if sched_ext patches have different rules,
> different cc's and different mailing lists than normal LKML.

The first patch should go through the usual scheduler tree, so please cc the
scheduler maintainers and probably the original uclamp author too. Once that
lands, I can pull in and apply the second sched_ext specific patch.

Thanks.

-- 
tejun