Commit e406d57b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'mm-nonmm-stable-2025-10-02-15-29' of...

Merge tag 'mm-nonmm-stable-2025-10-02-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull non-MM updates from Andrew Morton:

 - "ida: Remove the ida_simple_xxx() API" from Christophe Jaillet
   completes the removal of this legacy IDR API

 - "panic: introduce panic status function family" from Jinchao Wang
   provides a number of cleanups to the panic code and its various
   helpers, which were rather ad-hoc and scattered all over the place

 - "tools/delaytop: implement real-time keyboard interaction support"
   from Fan Yu adds a few nice user-facing usability changes to the
   delaytop monitoring tool

 - "efi: Fix EFI boot with kexec handover (KHO)" from Evangelos
   Petrongonas fixes a panic which was happening with the combination of
   EFI and KHO

 - "Squashfs: performance improvement and a sanity check" from Phillip
   Lougher teaches squashfs's lseek() about SEEK_DATA/SEEK_HOLE. A mere
   150x speedup was measured for a well-chosen microbenchmark

 - plus another 50-odd singleton patches all over the place

* tag 'mm-nonmm-stable-2025-10-02-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (75 commits)
  Squashfs: reject negative file sizes in squashfs_read_inode()
  kallsyms: use kmalloc_array() instead of kmalloc()
  MAINTAINERS: update Sibi Sankar's email address
  Squashfs: add SEEK_DATA/SEEK_HOLE support
  Squashfs: add additional inode sanity checking
  lib/genalloc: fix device leak in of_gen_pool_get()
  panic: remove CONFIG_PANIC_ON_OOPS_VALUE
  ocfs2: fix double free in user_cluster_connect()
  checkpatch: suppress strscpy warnings for userspace tools
  cramfs: fix incorrect physical page address calculation
  kernel: prevent prctl(PR_SET_PDEATHSIG) from racing with parent process exit
  Squashfs: fix uninit-value in squashfs_get_parent
  kho: only fill kimage if KHO is finalized
  ocfs2: avoid extra calls to strlen() after ocfs2_sprintf_system_inode_name()
  kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths
  sched/task.h: fix the wrong comment on task_lock() nesting with tasklist_lock
  coccinelle: platform_no_drv_owner: handle also built-in drivers
  coccinelle: of_table: handle SPI device ID tables
  lib/decompress: use designated initializers for struct compress_format
  efi: support booting with kexec handover (KHO)
  ...
parents 8804d970 9f1c14c1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -721,7 +721,8 @@ Shuah Khan <shuah@kernel.org> <shuahkhan@gmail.com>
Shuah Khan <shuah@kernel.org> <shuah.khan@hp.com>
Shuah Khan <shuah@kernel.org> <shuahkh@osg.samsung.com>
Shuah Khan <shuah@kernel.org> <shuah.kh@samsung.com>
Sibi Sankar <quic_sibis@quicinc.com> <sibis@codeaurora.org>
Sibi Sankar <sibi.sankar@oss.qualcomm.com> <sibis@codeaurora.org>
Sibi Sankar <sibi.sankar@oss.qualcomm.com> <quic_sibis@quicinc.com>
Sid Manning <quic_sidneym@quicinc.com> <sidneym@codeaurora.org>
Simon Arlott <simon@octiron.net> <simon@fire.lp0.eu>
Simona Vetter <simona.vetter@ffwll.ch> <daniel.vetter@ffwll.ch>
+58 −33
Original line number Diff line number Diff line
@@ -134,47 +134,72 @@ The above command can be used with -v to get more debug information.

After the system starts, use `delaytop` to get the system-wide delay information,
which includes system-wide PSI information and Top-N high-latency tasks.
Note: PSI support requires `CONFIG_PSI=y` and `psi=1` for full functionality.

`delaytop` supports sorting by CPU latency in descending order by default,
displays the top 20 high-latency tasks by default, and refreshes the latency
data every 2 seconds by default.
`delaytop` is an interactive tool for monitoring system pressure and task delays.
It supports multiple sorting options, display modes, and real-time keyboard controls.

Get PSI information and Top-N tasks delay, since system boot::
Basic usage with default settings (sorts by CPU delay, shows top 20 tasks, refreshes every 2 seconds)::

	bash# ./delaytop
	System Pressure Information: (avg10/avg60/avg300/total)
	CPU some:       0.0%/   0.0%/   0.0%/     345(ms)
	System Pressure Information: (avg10/avg60vg300/total)
	CPU some:       0.0%/   0.0%/   0.0%/  106137(ms)
	CPU full:       0.0%/   0.0%/   0.0%/       0(ms)
	Memory full:    0.0%/   0.0%/   0.0%/       0(ms)
	Memory some:    0.0%/   0.0%/   0.0%/       0(ms)
	IO full:        0.0%/   0.0%/   0.0%/      65(ms)
	IO some:        0.0%/   0.0%/   0.0%/      79(ms)
	IO full:        0.0%/   0.0%/   0.0%/    2240(ms)
	IO some:        0.0%/   0.0%/   0.0%/    2783(ms)
	IRQ full:       0.0%/   0.0%/   0.0%/       0(ms)
	Top 20 processes (sorted by CPU delay):
	  PID   TGID  COMMAND          CPU(ms)  IO(ms) SWAP(ms) RCL(ms) THR(ms) CMP(ms)  WP(ms) IRQ(ms)
	----------------------------------------------------------------------------------------------
	  161    161  zombie_memcg_re   1.40    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	  130    130  blkcg_punt_bio    1.37    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	  444    444  scsi_tmf_0        0.73    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	 1280   1280  rsyslogd          0.53    0.04    0.00    0.00    0.00    0.00    0.00    0.00
	   12     12  ksoftirqd/0       0.47    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	 1277   1277  nbd-server        0.44    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	  308    308  kworker/2:2-sys   0.41    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	   55     55  netns             0.36    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	 1187   1187  acpid             0.31    0.03    0.00    0.00    0.00    0.00    0.00    0.00
	 6184   6184  kworker/1:2-sys   0.24    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	  186    186  kaluad            0.24    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	   18     18  ksoftirqd/1       0.24    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	  185    185  kmpath_rdacd      0.23    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	  190    190  kstrp             0.23    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	 2759   2759  agetty            0.20    0.03    0.00    0.00    0.00    0.00    0.00    0.00
	 1190   1190  kworker/0:3-sys   0.19    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	 1272   1272  sshd              0.15    0.04    0.00    0.00    0.00    0.00    0.00    0.00
	 1156   1156  license           0.15    0.11    0.00    0.00    0.00    0.00    0.00    0.00
	  134    134  md                0.13    0.00    0.00    0.00    0.00    0.00    0.00    0.00
	 6142   6142  kworker/3:2-xfs   0.13    0.00    0.00    0.00    0.00    0.00    0.00    0.00

Dynamic interactive interface of delaytop::
	[o]sort [M]memverbose [q]quit
	Top 20 processes (sorted by cpu delay):
		PID      TGID  COMMAND           CPU(ms)   IO(ms)  IRQ(ms)  MEM(ms)
	------------------------------------------------------------------------
		110       110  kworker/15:0H-s   27.91     0.00     0.00     0.00
		57        57  cpuhp/7            3.18     0.00     0.00     0.00
		99        99  cpuhp/14           2.97     0.00     0.00     0.00
		51        51  cpuhp/6            0.90     0.00     0.00     0.00
		44        44  kworker/4:0H-sy    0.80     0.00     0.00     0.00
		60        60  ksoftirqd/7        0.74     0.00     0.00     0.00
		76        76  idle_inject/10     0.31     0.00     0.00     0.00
		100       100  idle_inject/14     0.30     0.00     0.00     0.00
		1309      1309  systemsettings     0.29     0.00     0.00     0.00
		45        45  cpuhp/5            0.22     0.00     0.00     0.00
		63        63  cpuhp/8            0.20     0.00     0.00     0.00
		87        87  cpuhp/12           0.18     0.00     0.00     0.00
		93        93  cpuhp/13           0.17     0.00     0.00     0.00
		1265      1265  acpid              0.17     0.00     0.00     0.00
		1552      1552  sshd               0.17     0.00     0.00     0.00
		2584      2584  sddm-helper        0.16     0.00     0.00     0.00
		1284      1284  rtkit-daemon       0.15     0.00     0.00     0.00
		1326      1326  nde-netfilter      0.14     0.00     0.00     0.00
		27        27  cpuhp/2            0.13     0.00     0.00     0.00
		631       631  kworker/11:2-rc    0.11     0.00     0.00     0.00

Interactive keyboard controls during runtime::

	o - Select sort field (CPU, IO, IRQ, Memory, etc.)
	M - Toggle display mode (Default/Memory Verbose)
	q - Quit

Available sort fields(use -s/--sort or interactive command)::

	cpu(c)       - CPU delay
	blkio(i)     - I/O delay
	irq(q)       - IRQ delay
	mem(m)       - Total memory delay
	swapin(s)    - Swapin delay (memory verbose mode only)
	freepages(r) - Freepages reclaim delay (memory verbose mode only)
	thrashing(t) - Thrashing delay (memory verbose mode only)
	compact(p)   - Compaction delay (memory verbose mode only)
	wpcopy(w)    - Write page copy delay (memory verbose mode only)

Advanced usage examples::

	# ./delaytop -s blkio
	Sorted by IO delay

	# ./delaytop -s mem -M
	Sorted by memory delay in memory verbose mode

	# ./delaytop -p pid
	Print delayacct stats
+1 −1
Original line number Diff line number Diff line
@@ -4603,7 +4603,7 @@
			bit 2: print timer info
			bit 3: print locks info if CONFIG_LOCKDEP is on
			bit 4: print ftrace buffer
			bit 5: replay all messages on consoles at the end of panic
			bit 5: replay all kernel messages on consoles at the end of panic
			bit 6: print all CPUs backtrace (if available in the arch)
			bit 7: print only tasks in uninterruptible (blocked) state
			*Be aware* that this option may print a _lot_ of lines,
+1 −1
Original line number Diff line number Diff line
@@ -890,7 +890,7 @@ bit 1 print system memory info
bit 2  print timer info
bit 3  print locks info if ``CONFIG_LOCKDEP`` is on
bit 4  print ftrace buffer
bit 5  replay all messages on consoles at the end of panic
bit 5  replay all kernel messages on consoles at the end of panic
bit 6  print all CPUs backtrace (if available in the arch)
bit 7  print only tasks in uninterruptible (blocked) state
=====  ============================================
+6 −1
Original line number Diff line number Diff line
@@ -361,7 +361,12 @@ local tasks spawned by the process and the global task that handles USB bus #1:
	 */
	sleep(2);

	n = __atomic_load_n(&cover[0], __ATOMIC_RELAXED);
        /*
         * The load to the coverage count should be an acquire to pair with
         * pair with the corresponding write memory barrier (smp_wmb()) on
         * the kernel-side in kcov_move_area().
         */
	n = __atomic_load_n(&cover[0], __ATOMIC_ACQUIRE);
	for (i = 0; i < n; i++)
		printf("0x%lx\n", cover[i + 1]);
	if (ioctl(fd, KCOV_DISABLE, 0))
Loading