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>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zzt_or2E2KEypfbi@gmail.com>
Date: Mon, 18 Nov 2024 18:55:46 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Peter Zijlstra <peterz@...radead.org>,
	Thomas Gleixner <tglx@...utronix.de>,
	Juri Lelli <juri.lelli@...hat.com>,
	Vincent Guittot <vincent.guittot@...aro.org>,
	Dietmar Eggemann <dietmar.eggemann@....com>,
	Steven Rostedt <rostedt@...dmis.org>,
	Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
	Valentin Schneider <vschneid@...hat.com>,
	Shrikanth Hegde <sshegde@...ux.ibm.com>, Tejun Heo <tj@...nel.org>
Subject: [GIT PULL] Scheduler changes for v6.13


Linus,

Please pull the latest sched/core Git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2024-11-18

   # HEAD: 771d271b2b908cf660d6789bb4355ed553250edc sched, x86: Update the comment for TIF_NEED_RESCHED_LAZY.

Scheduler changes for v6.13:

 - Core facilities:

    - Add the "Lazy preemption" model (CONFIG_PREEMPT_LAZY=y), which optimizes
      fair-class preemption by delaying preemption requests to the
      tick boundary, while working as full preemption for RR/FIFO/DEADLINE
      classes. (Peter Zijlstra)

        - x86:   Enable Lazy preemption (Peter Zijlstra)
        - riscv: Enable Lazy preemption (Jisheng Zhang)

    - Initialize idle tasks only once (Thomas Gleixner)

    - sched/ext: Remove sched_fork() hack (Thomas Gleixner)

 - Fair scheduler:
    - Optimize the PLACE_LAG when se->vlag is zero (Huang Shijie)

 - Idle loop:
      Optimize the generic idle loop by removing unnecessary
      memory barrier (Zhongqiu Han)

 - RSEQ:
    - Improve cache locality of RSEQ concurrency IDs for
      intermittent workloads (Mathieu Desnoyers)

 - Waitqueues:
    - Make wake_up_{bit,var} less fragile (Neil Brown)

 - PSI:
    - Pass enqueue/dequeue flags to psi callbacks directly (Johannes Weiner)

 - Preparatory patches for proxy execution:
    - core: Add move_queued_task_locked helper (Connor O'Brien)
    - core: Consolidate pick_*_task to task_is_pushable helper (Connor O'Brien)
    - core: Split out __schedule() deactivate task logic into a helper (John Stultz)
    - core: Split scheduler and execution contexts (Peter Zijlstra)
    - locking/mutex: Make mutex::wait_lock irq safe (Juri Lelli)
    - locking/mutex: Expose __mutex_owner() (Juri Lelli)
    - locking/mutex: Remove wakeups from under mutex::wait_lock (Peter Zijlstra)

 - Misc fixes and cleanups:
    - core: Remove unused __HAVE_THREAD_FUNCTIONS hook support (David Disseldorp)
    - core: Update the comment for TIF_NEED_RESCHED_LAZY (Sebastian Andrzej Siewior)
    - wait: Remove unused bit_wait_io_timeout (Dr. David Alan Gilbert)
    - fair: remove the DOUBLE_TICK feature (Huang Shijie)
    - fair: fix the comment for PREEMPT_SHORT (Huang Shijie)
    - uclamp: Fix unnused variable warning (Christian Loehle)
    - rt: No PREEMPT_RT=y for all{yes,mod}config

 Thanks,

	Ingo

------------------>
Christian Loehle (1):
      sched/uclamp: Fix unnused variable warning

Connor O'Brien (2):
      sched: Add move_queued_task_locked helper
      sched: Consolidate pick_*_task to task_is_pushable helper

David Disseldorp (1):
      sched: remove unused __HAVE_THREAD_FUNCTIONS hook support

Dr. David Alan Gilbert (1):
      sched/wait: Remove unused bit_wait_io_timeout

Huang Shijie (3):
      sched/fair: remove the DOUBLE_TICK feature
      sched/fair: optimize the PLACE_LAG when se->vlag is zero
      sched/fair: fix the comment for PREEMPT_SHORT

Ingo Molnar (1):
      fs/bcachefs: Fix __wait_on_freeing_inode() definition of waitqueue entry

Jisheng Zhang (1):
      riscv: add PREEMPT_LAZY support

Johannes Weiner (1):
      sched: psi: pass enqueue/dequeue flags to psi callbacks directly

John Stultz (1):
      sched: Split out __schedule() deactivate task logic into a helper

Juri Lelli (2):
      locking/mutex: Make mutex::wait_lock irq safe
      locking/mutex: Expose __mutex_owner()

Mathieu Desnoyers (1):
      sched: Improve cache locality of RSEQ concurrency IDs for intermittent workloads

NeilBrown (7):
      sched: change wake_up_bit() and related function to expect unsigned long *
      sched: Improve documentation for wake_up_bit/wait_on_bit family of functions
      sched: Document wait_var_event() family of functions and wake_up_var()
      sched: Add test_and_clear_wake_up_bit() and atomic_dec_and_wake_up()
      sched: Add wait/wake interface for variable updated under a lock.
      sched: add wait_var_event_io()
      softirq: use bit waits instead of var waits.

Peter Zijlstra (7):
      locking/mutex: Remove wakeups from under mutex::wait_lock
      sched: Split scheduler and execution contexts
      sched: Add TIF_NEED_RESCHED_LAZY infrastructure
      sched: Add Lazy preemption model
      sched: Enable PREEMPT_DYNAMIC for PREEMPT_RT
      sched, x86: Enable Lazy preemption
      sched: No PREEMPT_RT=y for all{yes,mod}config

Sebastian Andrzej Siewior (1):
      sched, x86: Update the comment for TIF_NEED_RESCHED_LAZY.

Thomas Gleixner (2):
      sched: Initialize idle tasks only once
      sched/ext: Remove sched_fork() hack

Zhongqiu Han (1):
      sched: idle: Optimize the generic idle loop by removing needless memory barrier


 arch/riscv/Kconfig                   |   1 +
 arch/riscv/include/asm/thread_info.h |  10 +-
 arch/x86/Kconfig                     |   1 +
 arch/x86/include/asm/thread_info.h   |   6 +-
 fs/exec.c                            |   2 +-
 include/linux/entry-common.h         |   3 +-
 include/linux/entry-kvm.h            |   5 +-
 include/linux/mm_types.h             |  72 +++++-
 include/linux/preempt.h              |   8 +-
 include/linux/sched.h                |   5 +-
 include/linux/sched/ext.h            |   1 -
 include/linux/sched/task_stack.h     |   2 +-
 include/linux/thread_info.h          |  21 +-
 include/linux/wait_bit.h             | 444 ++++++++++++++++++++++++++++-------
 kernel/Kconfig.preempt               |  27 ++-
 kernel/entry/common.c                |   2 +-
 kernel/entry/kvm.c                   |   4 +-
 kernel/fork.c                        |   2 +-
 kernel/futex/pi.c                    |   6 +-
 kernel/locking/mutex.c               |  59 ++---
 kernel/locking/mutex.h               |  27 +++
 kernel/locking/rtmutex.c             |  51 ++--
 kernel/locking/rtmutex_api.c         |  12 +-
 kernel/locking/rtmutex_common.h      |   3 +-
 kernel/locking/rwbase_rt.c           |   8 +-
 kernel/locking/rwsem.c               |   4 +-
 kernel/locking/spinlock_rt.c         |   5 +-
 kernel/locking/ww_mutex.h            |  51 ++--
 kernel/sched/core.c                  | 289 +++++++++++++++--------
 kernel/sched/deadline.c              |  57 ++---
 kernel/sched/debug.c                 |   7 +-
 kernel/sched/ext.c                   |   7 +-
 kernel/sched/fair.c                  |  42 ++--
 kernel/sched/features.h              |   3 +-
 kernel/sched/idle.c                  |   1 -
 kernel/sched/pelt.c                  |   2 +-
 kernel/sched/rt.c                    |  67 +++---
 kernel/sched/sched.h                 | 155 ++++++++----
 kernel/sched/stats.h                 |  29 ++-
 kernel/sched/syscalls.c              |   4 +-
 kernel/sched/wait_bit.c              |  90 ++++---
 kernel/softirq.c                     |  14 +-
 42 files changed, 1105 insertions(+), 504 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ