lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <41d26de7756d571845b9feb04a4e8e9d@kernel.org>
Date: Fri, 26 Sep 2025 09:40:26 -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>, sched-ext@...ts.linux.dev
Subject: [GIT PULL] sched_ext: Changes for v6.18

The following changes since commit 55ed11b181c43d81ce03b50209e4e7c4a14ba099:

  sched_ext: idle: Handle migration-disabled tasks in BPF code (2025-09-22 06:24:44 -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-6.18

for you to fetch changes up to df10932ad740ba1f871b6dd2ddafc7dc8cea944f:

  Revert "sched_ext: Use rhashtable_lookup() instead of rhashtable_lookup_fast()" (2025-09-23 20:38:23 -1000)

----------------------------------------------------------------
sched_ext: Changes for v6.18

- Code organization cleanup. Separate internal types and accessors to
  ext_internal.h to reduce the size of ext.c and improve maintainability.

- Prepare for cgroup sub-scheduler support by adding @sch parameter to
  various functions and helpers, reorganizing scheduler instance handling,
  and dropping obsolete helpers like scx_kf_exit() and kf_cpu_valid().

- Add new scx_bpf_cpu_curr() and scx_bpf_locked_rq() BPF helpers to provide
  safer access patterns with proper RCU protection. scx_bpf_cpu_rq() is
  deprecated with warnings due to potential race conditions.

- Improve debugging with migration-disabled counter in error state dumps,
  SCX_EFLAG_INITIALIZED flag, bitfields for warning flags, and other
  enhancements to help diagnose issues.

- Use cgroup_lock/unlock() for cgroup synchronization instead of
  scx_cgroup_rwsem based synchronization. This is simpler and allows
  enable/disable paths to synchronize against cgroup changes independent of
  the CPU controller.

- rhashtable_lookup() replacement to avoid redundant RCU locking was
  reverted due to RCU usage warnings. Will be redone once rhashtable is
  updated to use rcu_dereference_all().

- Other misc updates and fixes including bypass handling improvements,
  scx_task_iter_relock() improvements, tools/sched_ext updates, and
  compatibility helpers.

----------------------------------------------------------------
Andrea Righi (5):
      tools/sched_ext: Receive updates from SCX repo
      tools/sched_ext: Add compat helper for scx_bpf_cpu_curr()
      sched_ext: Fix NULL dereference in scx_bpf_cpu_rq() warning
      sched_ext: Add migration-disabled counter to error state dump
      sched_ext: Verify RCU protection in scx_bpf_cpu_curr()

Christian Loehle (3):
      sched_ext: Introduce scx_bpf_locked_rq()
      sched_ext: Introduce scx_bpf_cpu_curr()
      sched_ext: deprecation warn for scx_bpf_cpu_rq()

Tejun Heo (21):
      sched_ext: Make explicit scx_task_iter_relock() calls unnecessary
      sched_ext: Keep bypass on between enable failure and scx_disable_workfn()
      sched_ext: Move internal type and accessor definitions to ext_internal.h
      sched_ext: Put event_stats_cpu in struct scx_sched_pcpu
      sched_ext: Use cgroup_lock/unlock() to synchronize against cgroup operations
      sched_ext: Use rhashtable_lookup() instead of rhashtable_lookup_fast()
      sched_ext: Improve SCX_KF_DISPATCH comment
      sched_ext: Fix stray scx_root usage in task_can_run_on_remote_rq()
      sched_ext: Use bitfields for boolean warning flags
      sched_ext: Add SCX_EFLAG_INITIALIZED to indicate successful ops.init()
      sched_ext: Make qmap dump operation non-destructive
      tools/sched_ext: scx_qmap: Make debug output quieter by default
      sched_ext: Separate out scx_kick_cpu() and add @sch to it
      sched_ext: Add the @sch parameter to __bstr_format()
      sched_ext: Add the @sch parameter to ext_idle helpers
      sched_ext: Drop kf_cpu_valid()
      sched_ext: Add the @sch parameter to scx_dsq_insert_preamble/commit()
      sched_ext: Drop scx_kf_exit() and scx_kf_error()
      sched_ext: Misc updates around scx_sched instance pointer
      sched_ext: Merge branch 'for-6.17-fixes' into for-6.18
      Revert "sched_ext: Use rhashtable_lookup() instead of rhashtable_lookup_fast()"

 include/linux/sched/ext.h                          |    6 +-
 kernel/sched/build_policy.c                        |    1 +
 kernel/sched/core.c                                |    2 -
 kernel/sched/ext.c                                 | 1556 ++++----------------
 kernel/sched/ext.h                                 |   25 -
 kernel/sched/ext_idle.c                            |  146 +-
 kernel/sched/ext_internal.h                        | 1078 ++++++++++++++
 tools/sched_ext/include/scx/bpf_arena_common.bpf.h |  175 +++
 tools/sched_ext/include/scx/bpf_arena_common.h     |   33 +
 tools/sched_ext/include/scx/common.bpf.h           |  104 +-
 tools/sched_ext/include/scx/common.h               |    5 +-
 tools/sched_ext/include/scx/compat.bpf.h           |   22 +
 tools/sched_ext/include/scx/user_exit_info.bpf.h   |   40 +
 tools/sched_ext/include/scx/user_exit_info.h       |   49 +-
 .../sched_ext/include/scx/user_exit_info_common.h  |   30 +
 tools/sched_ext/scx_central.bpf.c                  |    2 +-
 tools/sched_ext/scx_central.c                      |    1 +
 tools/sched_ext/scx_flatcg.bpf.c                   |    2 +-
 tools/sched_ext/scx_flatcg.c                       |    2 +
 tools/sched_ext/scx_qmap.bpf.c                     |   98 +-
 tools/sched_ext/scx_qmap.c                         |   12 +-
 tools/sched_ext/scx_simple.c                       |    2 +
 22 files changed, 1992 insertions(+), 1399 deletions(-)
 create mode 100644 kernel/sched/ext_internal.h
 create mode 100644 tools/sched_ext/include/scx/bpf_arena_common.bpf.h
 create mode 100644 tools/sched_ext/include/scx/bpf_arena_common.h
 create mode 100644 tools/sched_ext/include/scx/user_exit_info.bpf.h
 create mode 100644 tools/sched_ext/include/scx/user_exit_info_common.h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ