linux/arch/xtensa/kernel
Thomas Gleixner 99d2592023 rseq: Implement sys_rseq_slice_yield()
Provide a new syscall which has the only purpose to yield the CPU after the
kernel granted a time slice extension.

sched_yield() is not suitable for that because it unconditionally
schedules, but the end of the time slice extension is not required to
schedule when the task was already preempted. This also allows to have a
strict check for termination to catch user space invoking random syscalls
including sched_yield() from a time slice extension region.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20251215155708.929634896@linutronix.de
2026-01-22 11:11:17 +01:00
..
syscalls rseq: Implement sys_rseq_slice_yield() 2026-01-22 11:11:17 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
align.S xtensa: fix unaligned and load/store configuration interaction 2023-07-10 21:41:04 -07:00
asm-offsets.c arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c 2025-09-25 09:57:15 +02:00
coprocessor.S xtensa: support coprocessors on SMP 2022-05-01 19:51:23 -07:00
entry.S RCU pull request for v5.20 (or whatever) 2022-08-02 19:12:45 -07:00
head.S xtensa: use register window specific opcodes only when present 2021-10-18 22:19:35 -07:00
hibernate.c xtensa: add hibernation support 2022-05-01 19:51:24 -07:00
hw_breakpoint.c xtensa: hw_breakpoint: include header for missing prototype 2023-09-20 05:03:21 -07:00
irq.c xtensa: irq: include <asm/traps.h> 2023-09-20 05:03:18 -07:00
jump_label.c xtensa: patch_text: Fixup last cpu should be master 2022-04-13 03:36:34 -07:00
Makefile arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds 2025-06-07 14:38:07 +09:00
mcount.S xtensa: add asm-prototypes.h 2023-06-12 19:48:57 -07:00
module.c xtensa: clean up custom-controlled debug output 2017-12-16 22:37:08 -08:00
mxhead.S xtensa: add missing XCHAL_HAVE_WINDOWED check 2022-03-09 13:59:15 -08:00
pci-dma.c dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h> 2020-10-06 07:07:06 +02:00
pci.c xtensa: fix warning comparing pointer to 0 2021-04-04 15:39:02 -07:00
perf_event.c xtensa/perf: Remove driver-specific throttle support 2025-05-21 13:57:46 +02:00
platform.c xtensa: use HZ_PER_MHZ in platform_calibrate_ccount 2025-09-15 08:37:28 -07:00
process.c arch: copy_thread: pass clone_flags as u64 2025-09-01 15:31:34 +02:00
ptrace.c xtensa: ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:49 -07:00
s32c1i_selftest.c xtensa: clean up exception handler prototypes 2022-05-01 19:51:22 -07:00
setup.c Xtensa updates for v6.14 2025-01-27 08:16:33 -08:00
signal.c xtensa: signal: include headers for function prototypes 2023-09-20 05:03:19 -07:00
smp.c xtensa: smp: add headers for missing function prototypes 2023-09-20 05:03:20 -07:00
stacktrace.c xtensa: fix MAKE_PC_FROM_RA second argument 2024-04-02 19:42:35 -07:00
syscall.c mm: make arch_get_unmapped_area() take vm_flags by default 2024-09-09 16:39:13 -07:00
time.c xtensa: drop platform_heartbeat 2023-06-12 19:48:55 -07:00
traps.c xtensa: Rely on generic printing of preemption model 2025-03-17 11:23:40 +01:00
vectors.S xtensa: rename PT_SIZE to PT_KERNEL_SIZE 2022-03-07 12:02:48 -08:00
vmlinux.lds.S xtensa: add XIP-aware MTD support 2023-08-28 18:25:23 -07:00
xtensa_ksyms.c xtensa: add asm-prototypes.h 2023-06-12 19:48:57 -07:00