[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z999bMA5tftvV28a@slm.duckdns.org>
Date: Sat, 22 Mar 2025 17:18:04 -1000
From: Tejun Heo <tj@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: David Vernet <void@...ifault.com>, Andrea Righi <arighi@...dia.com>,
Changwoo Min <changwoo@...lia.com>, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>, linux-kernel@...r.kernel.org
Subject: [GIT PULL] sched_ext: Changes for v6.15
The following changes since commit 9360dfe4cbd62ff1eb8217b815964931523b75b3:
sched_ext: Validate prev_cpu in scx_bpf_select_cpu_dfl() (2025-03-03 07:55:48 -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.15
for you to fetch changes up to e4855fc90e52efef7e3926205c8dc53ce39b6138:
sched_ext: idle: Refactor scx_select_cpu_dfl() (2025-03-14 08:17:11 -1000)
----------------------------------------------------------------
sched_ext: Changes for v6.15
- Add mechanism to count and report internal events. This significantly
improves visibility on subtle corner conditions.
- The default idle CPU selection logic is revamped and improved in multiple
ways including being made topology aware.
- sched_ext was disabling ttwu_queue for simplicity, which can be costly
when hardware topology is more complex. Implement
SCX_OPS_ALLOWED_QUEUED_WAKEUP so that BPF schedulers can selectively
enable ttwu_queue.
- tools/sched_ext updates to improve compatibility among others.
- Other misc updates and fixes.
- sched_ext/for-6.14-fixes were pulled a few times to receive prerequisite
fixes and resolve conflicts.
----------------------------------------------------------------
Andrea Righi (16):
sched_ext: Move built-in idle CPU selection policy to a separate file
mm/numa: Introduce nearest_node_nodemask()
sched/topology: Introduce for_each_node_numadist() iterator
sched_ext: idle: Make idle static keys private
sched_ext: idle: Introduce SCX_OPS_BUILTIN_IDLE_PER_NODE
sched_ext: idle: Per-node idle cpumasks
sched_ext: idle: Introduce node-aware idle cpu kfunc helpers
sched_ext: idle: Introduce scx_bpf_nr_node_ids()
sched_ext: idle: Fix scx_bpf_pick_any_cpu_node() behavior
tools/sched_ext: Provide consistent access to scx flags
selftests/sched_ext: Add NUMA-aware scheduler test
tools/sched_ext: Provide a compatible helper for scx_bpf_events()
sched_ext: Documentation: add task lifecycle summary
sched_ext: Skip per-CPU tasks in scx_bpf_reenqueue_local()
sched_ext: idle: Honor idle flags in the built-in idle selection policy
sched_ext: idle: Refactor scx_select_cpu_dfl()
Changwoo Min (18):
sched_ext: Implement event counter infrastructure
sched_ext: Add an event, SCX_EV_SELECT_CPU_FALLBACK
sched_ext: Add an event, SCX_EV_DISPATCH_LOCAL_DSQ_OFFLINE
sched_ext: Add an event, SCX_EV_DISPATCH_KEEP_LAST
sched_ext: Add an event, SCX_EV_ENQ_SKIP_EXITING
sched_ext: Add an event, SCX_EV_BYPASS_ACTIVATE
sched_ext: Add an event, SCX_EV_BYPASS_DISPATCH
sched_ext: Add an event, SCX_EV_BYPASS_DURATION
sched_ext: Add scx_bpf_events() and scx_read_event() for BPF schedulers
sched_ext: Print core event count in scx_central scheduler
sched_ext: Print core event count in scx_qmap scheduler
sched_ext: Add an event, SCX_EV_ENQ_SLICE_DFL
sched_ext: Print an event, SCX_EV_ENQ_SLICE_DFL, in scx_qmap/central
tools/sched_ext: Compatible testing of SCX_ENQ_CPU_SELECTED
tools/sched_ext: Update enum_defs.autogen.h
sched_ext: Provides a sysfs 'events' to expose core event counters
sched_ext: Change the event type from u64 to s64
sched_ext: Add trace point to track sched_ext core events
Li RongQing (1):
sched_ext: Take NUMA node into account when allocating per-CPU cpumasks
Tejun Heo (8):
Merge branch 'for-6.14-fixes' into for-6.15
tool/sched_ext: Event counter dumping updates
sched_ext: Count SCX_EV_DISPATCH_LOCAL_DSQ_OFFLINE in the right spot
sched_ext: Add SCX_EV_ENQ_SKIP_MIGRATION_DISABLED
Merge branch 'for-6.14-fixes' into for-6.15
sched_ext: Implement SCX_OPS_ALLOW_QUEUED_WAKEUP
tools/sched_ext: Sync with scx repo
sched_ext: Merge branch 'for-6.14-fixes' into for-6.15
Yury Norov (2):
nodemask: add nodes_copy()
nodemask: numa: reorganize inclusion path
Documentation/scheduler/sched-ext.rst | 36 +
MAINTAINERS | 3 +-
include/linux/nodemask.h | 8 +-
include/linux/nodemask_types.h | 11 +-
include/linux/numa.h | 17 +-
include/linux/sched/ext.h | 1 +
include/linux/topology.h | 30 +
include/trace/events/sched_ext.h | 19 +
kernel/sched/build_policy.c | 1 +
kernel/sched/core.c | 9 +-
kernel/sched/ext.c | 1085 +++++++--------------
kernel/sched/ext.h | 10 +
kernel/sched/ext_idle.c | 1171 +++++++++++++++++++++++
kernel/sched/ext_idle.h | 35 +
mm/mempolicy.c | 31 +
tools/sched_ext/include/scx/common.bpf.h | 34 +
tools/sched_ext/include/scx/common.h | 1 +
tools/sched_ext/include/scx/compat.bpf.h | 95 ++
tools/sched_ext/include/scx/compat.h | 16 +-
tools/sched_ext/include/scx/enum_defs.autogen.h | 120 +++
tools/sched_ext/scx_central.c | 15 +-
tools/sched_ext/scx_qmap.bpf.c | 23 +-
tools/testing/selftests/sched_ext/Makefile | 1 +
tools/testing/selftests/sched_ext/numa.bpf.c | 100 ++
tools/testing/selftests/sched_ext/numa.c | 59 ++
25 files changed, 2148 insertions(+), 783 deletions(-)
create mode 100644 kernel/sched/ext_idle.c
create mode 100644 kernel/sched/ext_idle.h
create mode 100644 tools/sched_ext/include/scx/enum_defs.autogen.h
create mode 100644 tools/testing/selftests/sched_ext/numa.bpf.c
create mode 100644 tools/testing/selftests/sched_ext/numa.c
--
tejun
Powered by blists - more mailing lists