mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: David Vernet <void@manifault.com>,
	Andrea Righi <arighi@nvidia.com>,
	Changwoo Min <changwoo@igalia.com>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] sched_ext: Changes for v6.15
Date: Sat, 22 Mar 2025 17:18:04 -1000	[thread overview]
Message-ID: <Z999bMA5tftvV28a@slm.duckdns.org> (raw)

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

             reply	other threads:[~2025-03-23  3:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-23  3:18 Tejun Heo [this message]
2025-03-25  0:45 ` pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z999bMA5tftvV28a@slm.duckdns.org \
    --to=tj@kernel.org \
    --cc=arighi@nvidia.com \
    --cc=changwoo@igalia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=torvalds@linux-foundation.org \
    --cc=void@manifault.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®