linux/kernel
Linus Torvalds a56a18c14a Report CSD-lock stall recovery time
* Refactor to simplify csd_lock_wait_toolong() function prototype.
  * Report time required to recover from a CSD-lock stall.
  * Add a test of this reporting.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEbK7UrM+RBIrCoViJnr8S83LZ+4wFAmrNfTsTHHBhdWxtY2tA
 a2VybmVsLm9yZwAKCRCevxLzctn7jEVLD/9/yL6kJBQB1M6zXqzlCD6mbZ6zTJXy
 +VngewIiv4tGNODT5wx9CvRxl9eURiaobpGGbMl7CJF8k1YEbEfhKizsYicbkSpJ
 FzfoxudaZH8isld6JweY0ZpJ08VqiScHkIByp0Ybgh7dTNPkivULInxFqtJgcfvK
 06tQsMMle5oxiN/a+FJFSnkyVFNj9lAwwkzPfpFObsq3OotA7hU0LYmS6cp4m7HC
 7A8+6mJt/MsEOXlnq3NY4WaoxW/DwvznSIpxj3TO4cSsateUVfFDI3ks9KY+uNIy
 s+i+zBUQemgVQCGiWxY/0s3osimaGk7flU5L8mMjabuj1UWRPwudFUpY0I3xPrnd
 /giRHSTEe6n5e6jRqoMlPIvIaVMyG4FbEWzPfps/YOE1bLHzatLPisFqxwsbMbXG
 pYRmkyn93NoO+zYRJScD9C3DBsYY1OSF0MaUWImLo59/1Eo9PdZCBcLEtwUCP7te
 yIxZKzGiVJXUOevUVPW86nhFS4bnBvTAiZ8mH2nrlNKFplsHpnS3No6k5P0yx4as
 oFvE3vdGFJOK4fGvZ2ixVr0HpRtMzsroclAK+PP4qgK6CMqOD+oXYSITtCLycXBz
 yeKzIkTXxszkFJmOrd/x/MykMxEf4nmzg9WwdH0fVjrcjswpo/jRpJhCrQG0p9ar
 Fcj4dwgldy+7UQ==
 =eLu3
 -----END PGP SIGNATURE-----

Merge tag 'csd-lock.2026.10.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu

Pull CSD lock updates from Paul McKenney:
 "Report CSD-lock stall recovery time:

   - Refactor to simplify csd_lock_wait_toolong() function prototype

   - Report time required to recover from a CSD-lock stall

   - Add a test of this reporting"

* tag 'csd-lock.2026.10.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
  lib/test_csd_lock: Add a module to stall a CPU on a CSD lock
  locking/csd-lock: Report how long a stuck CSD lock took to recover
  locking/csd-lock: Pack csd_lock_wait_toolong() state into a struct
2026-10-21 11:03:28 -10:00
..
bpf vfs-7.4-rc1.idmap 2026-10-19 17:57:49 -10:00
cgroup cgroup: Fixes for v7.3-rc6 2026-10-07 02:19:02 +02:00
configs slab: support for compiler-assisted type-based slab cache partitioning 2026-05-14 10:44:09 +02:00
debug kgdb: update outdated references to kgdb_wait() 2026-04-21 16:41:54 +01:00
dma dma-mapping fixes for Linux 7.3 2026-10-10 00:49:55 +02:00
entry Merge __{get,put}_user() removal branch 2026-10-21 07:19:30 -10:00
events Merge __{get,put}_user() removal branch 2026-10-21 07:19:30 -10:00
futex futex: Fix mm reuse handling for FUT_OFF_MMSHARED 2026-10-14 15:11:48 +02:00
gcov Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
irq Locking updates: 2026-10-20 12:43:05 -10:00
kcsan kcsan: avoid unintended access checking in NMIs 2026-07-20 18:18:37 +02:00
livepatch livepatch: Fix NULL pointer dereference in klp_find_func() 2026-07-07 12:54:37 +02:00
liveupdate kho: make boot time huge page allocation work nicely with KHO 2026-08-23 09:17:38 -07:00
locking Misc locking fixes: 2026-09-06 10:45:46 -07:00
module module: fix lost error code from codetag_load_module() 2026-09-26 13:55:09 -07:00
power Core features: 2026-10-20 07:55:19 -10:00
printk printk: Postpone kthread startup 2026-10-16 17:07:29 +02:00
rcu Merge branches 'misc.2026.10.06a' and 'torture.2026.10.12a' into HEAD 2026-10-12 16:53:20 -07:00
sched Scheduler updates: 2026-10-20 12:35:35 -10:00
tests userns: rename insert_extent() and sort_idmaps() 2026-09-11 15:00:37 +02:00
time Scheduler updates: 2026-10-20 12:35:35 -10:00
trace bpf: Use get_user() for kprobe_multi symbols and uprobe_multi arrays 2026-10-19 19:23:30 -10:00
unwind Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
.gitignore kheaders: rebuild kheaders_data.tar.xz when a file is modified within a minute 2025-06-24 20:30:37 +09:00
acct.c fs: move SB_I_USERNS_VISIBLE to FS_USERNS_MOUNT_RESTRICTED 2026-05-11 23:13:01 +02:00
async.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
audit_fsnotify.c audit: fix recursive locking deadlock in audit_dupe_exe() 2026-05-27 19:15:34 -04:00
audit_tree.c Automated merge of 'audit/dev' into 'stable-7.4' 2026-10-16 09:36:00 -04:00
audit_watch.c audit: Fix filter rule accounting after automatic removal 2026-09-01 17:35:19 -04:00
audit.c audit: use copied skb length in kauditd_send_multicast_skb() 2026-08-31 13:52:41 -04:00
audit.h audit: separate file and process capability storage 2026-09-28 18:10:56 -04:00
auditfilter.c audit: Fix filter rule accounting after automatic removal 2026-09-01 17:35:19 -04:00
auditsc.c lsm/stable-7.4 PR 20261016 2026-10-20 20:04:07 -10:00
backtracetest.c
bounds.c x86/asm: Remove ANNOTATE_DATA_SPECIAL usage 2025-12-03 16:53:19 +01:00
capability.c vfs-7.4-rc1.idmap 2026-10-19 17:57:49 -10:00
cfi.c cfi: Move BPF CFI types and helpers to generic code 2025-07-31 18:23:53 -07:00
compat.c compat: use scoped user access in get_compat_sigevent() 2026-10-19 19:23:18 -10:00
configs.c
context_tracking.c context_tracking: Remove rcu_task_trace_heavyweight_{enter,exit}() 2026-01-01 16:39:46 +08:00
cpu_pm.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
cpu.c cpumask: Introduce cpu_preferred_mask 2026-09-28 08:44:41 +02:00
crash_core_test.c crash: add KUnit tests for crash_exclude_mem_range 2025-09-13 17:32:55 -07:00
crash_core.c crash: Update stale NR_CPUS_DEFAULT references in elfcorehdr sizing docs 2026-09-02 14:25:16 -07:00
crash_dump_dm_crypt.c crash_dump: release keyring reference at the correct time 2026-07-13 10:04:47 +03:00
crash_reserve.c kernel/crash: remove inclusion of crypto/sha1.h 2026-03-27 21:19:46 -07:00
cred.c cred: prevent slab cache merging for cred_jar 2026-09-09 17:48:37 -04:00
delayacct.c sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL 2026-08-05 15:28:23 +02:00
dma.c
elfcorehdr.c
exec_domain.c
exec_state.c exec_state: relocate dumpable information 2026-05-26 11:02:01 +02:00
exit.c vfs-7.4-rc1.sync_close 2026-10-19 21:03:21 -10:00
exit.h
extable.c
fail_function.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
fork.c vfs-7.4-rc1.sync_close 2026-10-19 21:03:21 -10:00
freezer.c freezer: Clarify that only cgroup1 freezer uses PM freezer 2025-10-30 20:10:27 +01:00
gen_kheaders.sh kheaders: make it possible to override TAR 2025-08-06 10:23:36 +09:00
groups.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
hung_task.c hung_task: explicitly report I/O wait state in log output 2026-03-27 21:19:40 -07:00
iomem.c
irq_work.c irq_work: Flush lazy work CPU down on PREEMPT_RT 2026-10-01 14:00:35 +02:00
jump_label.c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
kallsyms_internal.h kallsyms: Get rid of kallsyms relative base 2026-01-22 15:58:22 -07:00
kallsyms_selftest.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
kallsyms_selftest.h
kallsyms.c mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
kcmp.c fs: add real_fs to track task's actual fs_struct 2026-06-29 10:43:45 +02:00
Kconfig.freezer
Kconfig.hz
Kconfig.kexec crash: Update stale NR_CPUS_DEFAULT references in elfcorehdr sizing docs 2026-09-02 14:25:16 -07:00
Kconfig.locks locking/qspinlock: Add contended_release tracepoint 2026-08-07 17:58:10 +02:00
Kconfig.preempt cpumask: Introduce cpu_preferred_mask 2026-09-28 08:44:41 +02:00
kcov.c mm.git review status for master..mm-nonmm-stable 2026-08-23 08:07:11 -07:00
kexec_core.c liveupdate: skip serialization for context-preserving kexec 2026-06-01 09:19:38 +03:00
kexec_elf.c
kexec_file.c kexec_file: skip checksum verification when safe 2026-07-01 13:01:08 +03:00
kexec_internal.h kexec: enable CMA based contiguous allocation 2025-08-02 12:01:38 -07:00
kexec.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
kheaders.c
kprobes.c kprobes: Skip disarmed probes when checking optkprobe overlap 2026-10-02 15:51:57 +09:00
kstack_erase.c sysctl: remove __user qualifier from stack_erasing_sysctl buffer argument 2025-11-27 15:44:53 +01:00
ksyms_common.c
ksysfs.c kernel: ksysfs: initialize kernel_kobj earlier 2026-04-03 19:39:52 +02:00
kthread.c vfs-7.4-rc1.coredump 2026-10-19 17:21:24 -10:00
latencytop.c
Makefile Kbuild / Kconfig updates for 7.4 2026-10-21 10:45:44 -10:00
module_signature.c module: Give 'enum pkey_id_type' a more specific name 2026-03-24 21:42:37 +00:00
notifier.c
nscommon.c lsm: add LSM blob and hooks for namespaces 2026-08-31 16:14:10 -04:00
nsproxy.c lsm/stable-7.4 PR 20261016 2026-10-20 20:04:07 -10:00
nstree.c nstree: check listing permission before taking a namespace reference 2026-09-09 10:03:15 +02:00
padata.c padata: Put CPU offline callback in ONLINE section to allow failure 2026-03-22 11:17:59 +09:00
panic.c bug/kunit: Core support for suppressing warning backtraces 2026-05-14 10:50:00 -06:00
params.c mm.git review status for master..mm-nonmm-stable 2026-08-23 08:07:11 -07:00
pid_namespace.c kernel-7.4-rc1.signal 2026-10-19 16:22:15 -10:00
pid_sysctl.h
pid.c pid: use READ_ONCE() in pid_alive() 2026-10-12 11:13:01 +02:00
profile.c
ptrace.c Merge __{get,put}_user() removal branch 2026-10-21 07:19:30 -10:00
range.c
reboot.c Merge branch 'for-7.3-hotfix' into for-linus 2026-10-16 17:38:25 +02:00
regset.c
relay.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
resource_kunit.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
resource.c resource: downgrade "resource sanity check" warning to debug level 2026-08-03 21:10:05 -07:00
rseq.c rseq: Reenable performance optimizations conditionally 2026-05-06 17:40:27 +02:00
scftorture.c smp_call_function() torture-test updates: 2026-08-23 19:28:04 -07:00
scs.c scs: fix a wrong parameter in __scs_magic 2025-11-12 10:00:13 -08:00
seccomp.c seccomp, treewide: Rename and convert __secure_computing() to return boolean 2026-07-12 12:38:02 +02:00
signal.c Merge __{get,put}_user() removal branch 2026-10-21 07:19:30 -10:00
smp.c Report CSD-lock stall recovery time 2026-10-21 11:03:28 -10:00
smpboot.c smpboot: Don't park the thread if work is pending 2026-10-01 14:00:36 +02:00
smpboot.h
softirq.c interrupt: Disable interrupt before modifying hardirq_disable counter 2026-08-30 08:39:04 +02:00
stacktrace.c
static_call_inline.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
static_call.c
stop_machine.c stop_machine: Make stop_one_cpu_nowait() return void 2026-07-31 12:35:26 +02:00
sys_ni.c time: Respect COMPAT_32BIT_TIME for old time type functions 2026-07-07 23:52:53 +02:00
sys.c prctl: fix PR_SET_MM_AUXV losing the forced AT_NULL terminator 2026-08-19 19:55:05 -07:00
sysctl-test.c sysctl: move u8 register test to lib/test_sysctl.c 2025-04-14 14:13:41 +02:00
sysctl.c sysctl: Negate before converting in the int read path 2026-09-29 09:25:14 +02:00
task_work.c task_work: Fix NMI race condition 2025-10-29 10:29:54 +01:00
taskstats.c taskstats: fold the two cpumask handlers into one 2026-08-13 15:42:05 -07:00
torture.c torture: Don't leak shuffle_tmp_mask when shuffler kthread fails to start 2026-08-14 14:59:21 -07:00
tracepoint.c tracepoint: balance regfunc() on func_add() failure in tracepoint_add_func() 2026-04-14 05:17:02 -04:00
tsacct.c tsacct: skip all kernel threads 2026-01-26 19:07:13 -08:00
ucount.c binfmt_misc: correctly account pre-opened interpreters 2026-08-03 23:36:18 +02:00
uid16.c
uid16.h
umh.c fs: add umh argument to struct kernel_clone_args 2026-06-29 10:54:41 +02:00
up.c smp: Refactor remote CPU selection in smp_call_function_any() 2026-07-16 09:24:55 +02:00
user_namespace.c vfs-7.4-rc1.idmap 2026-10-19 17:57:49 -10:00
user-return-notifier.c
user.c binfmt_misc: use RCU for the handler lookup 2026-08-03 10:08:36 +02:00
utsname_sysctl.c sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL 2026-08-05 15:28:23 +02:00
utsname.c uts: drop BUG_ON() in copy_utsname() 2026-09-04 12:46:45 +02:00
vhost_task.c vhost_task_create: kill unnecessary .exit_signal initialization 2026-06-10 02:17:00 -04:00
vmcore_info.c mm.git review status for linus..mm-nonmm-stable 2026-04-16 20:11:56 -07:00
watch_queue.c watch_queue: Fix note pool publication race in watch_queue_set_size() 2026-10-14 22:08:02 +02:00
watchdog_buddy.c watchdog/hardlockup: improve buddy system detection timeliness 2026-03-27 21:19:47 -07:00
watchdog_perf.c watchdog/hardlockup: simplify perf event probe and remove per-cpu dependency 2026-02-08 00:13:35 -08:00
watchdog.c watchdog/softlockup: fix softlockup typos 2026-08-03 21:10:06 -07:00
workqueue_internal.h workqueue: Show in-flight work item duration in stall diagnostics 2026-03-05 07:27:48 -10:00
workqueue.c workqueue: Fix NULL current_pwq deref in mem-reclaim helper 2026-10-07 07:57:17 -10:00