[<prev] [next>] [day] [month] [year] [list]
Message-ID: <Z4_zEpvX45l7BtZc@slm.duckdns.org>
Date: Tue, 21 Jan 2025 09:18:42 -1000
From: Tejun Heo <tj@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, David Vernet <void@...ifault.com>,
Andrea Righi <arighi@...dia.com>,
Changwoo Min <changwoo@...lia.com>
Subject: [GIT PULL] sched_ext: Changes for v6.14
The following changes since commit f24d192985cbd6782850fdbb3839039da2f0ee76:
sched_ext: fix application of sizeof to pointer (2024-12-04 09:47:39 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git/ tags/sched_ext-for-6.14
for you to fetch changes up to 987ce79b5242c048acae3a0c1feaae0a353d5cde:
sched_ext: fix kernel-doc warnings (2025-01-13 08:23:29 -1000)
----------------------------------------------------------------
sched_ext: Changes for v6.14
- scx_bpf_now() added so that BPF scheduler can access the cached timestamp
in struct rq to avoid reading TSC multiple times within a locked
scheduling operation.
- Minor updates to the built-in idle CPU selection logic.
- tool/sched_ext updates and other misc changes.
Pulling sched_ext/for-6.14 into master causes a merge conflict between the
following two commits (first commit in master, second in for-6.14):
a2a3374c47c4 sched_ext: idle: Refresh idle masks during idle-to-idle transitions
9cf9aceed21e sched_ext: idle: use assign_cpu() to update the idle cpumask
static void update_builtin_idle(int cpu, bool idle)
{
<<<<<<< HEAD
if (idle)
cpumask_set_cpu(cpu, idle_masks.cpu);
else
cpumask_clear_cpu(cpu, idle_masks.cpu);
=======
int cpu = cpu_of(rq);
if (SCX_HAS_OP(update_idle) && !scx_rq_bypassing(rq)) {
SCX_CALL_OP(SCX_KF_REST, update_idle, cpu_of(rq), idle);
if (!static_branch_unlikely(&scx_builtin_idle_enabled))
return;
}
assign_cpu(cpu, idle_masks.cpu, idle);
>>>>>>> 987ce79b5242c048acae3a0c1feaae0a353d5cde
The first commit factored out update_builtin_idle() and the second replaced
cpumask_set/clear_cpu() calls with assign_cpu(). The conflict can be
resolved by taking the code from the first and then replacing the
cpumask_set/clear_cpu() calls with assign_cpu():
static void update_builtin_idle(int cpu, bool idle)
{
assign_cpu(cpu, idle_masks.cpu, idle);
----------------------------------------------------------------
Andrea Righi (7):
sched_ext: Use the NUMA scheduling domain for NUMA optimizations
sched_ext: idle: use assign_cpu() to update the idle cpumask
sched_ext: idle: clarify comments
sched_ext: idle: introduce check_builtin_idle_enabled() helper
sched_ext: idle: small CPU iteration refactoring
sched_ext: update scx_bpf_dsq_insert() doc for SCX_DSQ_LOCAL_ON
sched_ext: Include remaining task time slice in error state dump
Changwoo Min (6):
sched_ext: Relocate scx_enabled() related code
sched_ext: Implement scx_bpf_now()
sched_ext: Add scx_bpf_now() for BPF scheduler
sched_ext: Add time helpers for BPF schedulers
sched_ext: Replace bpf_ktime_get_ns() to scx_bpf_now()
sched_ext: Use time helpers in BPF schedulers
Liang Jie (1):
sched_ext: Use sizeof_field for key_len in dsq_hash_params
Randy Dunlap (1):
sched_ext: fix kernel-doc warnings
Shizhao Chen (1):
sched_ext: Add option -l in selftest runner to list all available tests
Tejun Heo (1):
tools/sched_ext: Receive updates from SCX repo
Thorsten Blum (1):
sched_ext: Use str_enabled_disabled() helper in update_selcpu_topology()
Documentation/scheduler/sched-ext.rst | 6 +-
kernel/sched/core.c | 6 +-
kernel/sched/ext.c | 335 ++++++++++++++++--------
kernel/sched/sched.h | 51 ++--
tools/sched_ext/include/scx/common.bpf.h | 178 ++++++++++++-
tools/sched_ext/include/scx/common.h | 6 +
tools/sched_ext/include/scx/compat.bpf.h | 5 +
tools/sched_ext/include/scx/compat.h | 1 +
tools/sched_ext/include/scx/enums.autogen.bpf.h | 105 ++++++++
tools/sched_ext/include/scx/enums.autogen.h | 41 +++
tools/sched_ext/include/scx/enums.bpf.h | 12 +
tools/sched_ext/include/scx/enums.h | 27 ++
tools/sched_ext/include/scx/user_exit_info.h | 9 +-
tools/sched_ext/scx_central.bpf.c | 13 +-
tools/sched_ext/scx_central.c | 1 +
tools/sched_ext/scx_flatcg.bpf.c | 25 +-
tools/sched_ext/scx_flatcg.c | 1 +
tools/sched_ext/scx_qmap.bpf.c | 2 +-
tools/sched_ext/scx_qmap.c | 2 +
tools/sched_ext/scx_simple.bpf.c | 9 +-
tools/testing/selftests/sched_ext/runner.c | 15 +-
21 files changed, 690 insertions(+), 160 deletions(-)
create mode 100644 tools/sched_ext/include/scx/enums.autogen.bpf.h
create mode 100644 tools/sched_ext/include/scx/enums.autogen.h
create mode 100644 tools/sched_ext/include/scx/enums.bpf.h
create mode 100644 tools/sched_ext/include/scx/enums.h
--
tejun
Powered by blists - more mailing lists