Linux kernel source tree
Go to file
Tejun Heo 62dcbab8b0 sched_ext: Avoid live-locking bypass mode switching
A poorly behaving BPF scheduler can live-lock the system by e.g. incessantly
banging on the same DSQ on a large NUMA system to the point where switching
to the bypass mode can take a long time. Turning on the bypass mode requires
dequeueing and re-enqueueing currently runnable tasks, if the DSQs that they
are on are live-locked, this can take tens of seconds cascading into other
failures. This was observed on 2 x Intel Sapphire Rapids machines with 224
logical CPUs.

Inject artifical delays while the bypass mode is switching to guarantee
timely completion.

While at it, move __scx_ops_bypass_lock into scx_ops_bypass() and rename it
to bypass_lock.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Valentin Andrei <vandrei@meta.com>
Reported-by: Patrick Lu <patlu@meta.com>
2024-11-08 10:42:13 -10:00
arch Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
block
certs
crypto
Documentation sched_ext: Documentation: Update instructions for running example schedulers 2024-10-08 08:49:18 -10:00
drivers Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
fs
include I3C for 6.12 2024-09-24 12:53:54 -07:00
init
io_uring
ipc
kernel sched_ext: Avoid live-locking bypass mode switching 2024-11-08 10:42:13 -10:00
lib Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
LICENSES
mm
net
rust
samples
scripts Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
security
sound
tools sched_ext: Update scx_show_state.py to match scx_ops_bypass_depth's new type 2024-11-05 11:45:27 -10:00
usr
virt
.clang-format
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Input updates for v6.12-rc0 2024-09-24 12:42:35 -07:00
Makefile Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.