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>,
	Emil Tsalapatis <emil@etsalapatis.com>,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] sched_ext: Fixes for v7.0-rc2
Date: Tue, 03 Mar 2026 11:35:27 -1000	[thread overview]
Message-ID: <d0b712e399675089c5bd89a09dc1d27c@kernel.org> (raw)

Hello,

The following changes since commit 640c9dc72f21f325700a4b0f839ad568ff21c697:

  tools/sched_ext: fix getopt not re-parsed on restart (2026-02-20 17:17:38 -1000)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git tags/sched_ext-for-7.0-rc2-fixes

for you to fetch changes up to b06ccbabe2506fd70b9167a644978b049150224a:

  sched_ext: Fix starvation of scx_enable() under fair-class saturation (2026-03-03 11:10:40 -1000)

Note: There's a merge conflict in kernel/sched/ext_idle.c between
189f164e573e ("Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL
uses") from the slab tree and 2a064262eb37 ("sched_ext: Fix
out-of-bounds access in scx_idle_init_masks()") from this pull. The
former converts kcalloc() to kzalloc_objs() and the latter changes
num_possible_nodes() to nr_node_ids. The resolution is to take both:

  /* before (master) */
  scx_idle_node_masks = kzalloc_objs(*scx_idle_node_masks,
                                     num_possible_nodes());

  /* after (resolved) */
  scx_idle_node_masks = kzalloc_objs(*scx_idle_node_masks,
                                     nr_node_ids);

A test-merge branch is available at:

  https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git test-merge-for-7.0-rc2-fixes

----------------------------------------------------------------
sched_ext: Fixes for v7.0-rc2

- Fix starvation of scx_enable() under fair-class saturation by
  offloading the enable path to an RT kthread.

- Fix out-of-bounds access in idle mask initialization on systems with
  non-contiguous NUMA node IDs.

- Fix a preemption window during scheduler exit and a refcount underflow
  in cgroup init error path.

- Fix SCX_EFLAG_INITIALIZED being a no-op flag.

- Add READ_ONCE() annotations for KCSAN-clean lockless accesses and
  replace naked scx_root dereferences with container_of() in kobject
  callbacks.

- Tooling and selftest fixes: compilation issues with clang 17,
  strtoul() misuse, unused options cleanup, and Kconfig sync.

----------------------------------------------------------------
Cheng-Yang Chou (8):
      selftests/sched_ext: Abort test loop on signal
      selftests/sched_ext: Fix unused-result warning for read()
      tools/sched_ext: scx_central: Remove unused '-p' option
      tools/sched_ext: scx_sdt: Remove unused '-f' option
      selftests/sched_ext: Remove duplicated unistd.h include in rt_stall.c
      tools/sched_ext: Sync README.md Kconfig with upstream scx
      tools/sched_ext: Add Kconfig to sync with upstream
      sched_ext: Remove redundant css_put() in scx_cgroup_init()

David Carlier (3):
      sched_ext: Fix out-of-bounds access in scx_idle_init_masks()
      sched_ext: Fix SCX_EFLAG_INITIALIZED being a no-op flag
      tools/sched_ext: fix strtoul() misuse in scx_hotplug_seq()

Tejun Heo (2):
      sched_ext: Disable preemption between scx_claim_exit() and kicking helper work
      sched_ext: Fix starvation of scx_enable() under fair-class saturation

Zhao Mengmeng (3):
      tools/sched_ext: Add -fms-extensions to bpf build flags
      selftests/sched_ext: Add -fms-extensions to bpf build flags
      selftests/sched_ext: Fix peek_dsq.bpf.c compile error for clang 17

zhidao su (3):
      sched_ext: Use READ_ONCE() for the read side of dsq->nr update
      sched_ext: Replace naked scx_root dereferences in kobject callbacks
      sched_ext: Use READ_ONCE() for plain reads of scx_watchdog_timeout

 kernel/sched/ext.c                                 | 101 +++++++++++++++++----
 kernel/sched/ext_idle.c                            |   4 +-
 kernel/sched/ext_internal.h                        |   2 +-
 tools/sched_ext/Kconfig                            |  61 +++++++++++++
 tools/sched_ext/Makefile                           |   2 +
 tools/sched_ext/README.md                          |   6 --
 tools/sched_ext/include/scx/compat.h               |   7 +-
 tools/sched_ext/scx_central.c                      |   2 +-
 tools/sched_ext/scx_sdt.c                          |   2 +-
 tools/testing/selftests/sched_ext/Makefile         |   2 +
 .../selftests/sched_ext/init_enable_count.c        |   3 +-
 tools/testing/selftests/sched_ext/peek_dsq.bpf.c   |   4 +-
 tools/testing/selftests/sched_ext/rt_stall.c       |   1 -
 tools/testing/selftests/sched_ext/runner.c         |   3 +
 14 files changed, 165 insertions(+), 35 deletions(-)
 create mode 100644 tools/sched_ext/Kconfig

Thanks.

--
tejun

             reply	other threads:[~2026-03-03 21:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-03 21:35 Tejun Heo [this message]
2026-03-03 22:31 ` 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=d0b712e399675089c5bd89a09dc1d27c@kernel.org \
    --to=tj@kernel.org \
    --cc=arighi@nvidia.com \
    --cc=changwoo@igalia.com \
    --cc=emil@etsalapatis.com \
    --cc=linux-kernel@vger.kernel.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

Powered by JetHome