All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] mm/kmemleak: avoid soft lockup when scanning task stacks
@ 2026-06-15 17:49 Breno Leitao
  2026-06-15 17:49 ` [PATCH v3 1/3] " Breno Leitao
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Breno Leitao @ 2026-06-15 17:49 UTC (permalink / raw)
  To: Catalin Marinas, Andrew Morton, lance.yang, Davidlohr Bueso,
	Oleg Nesterov, Qian Cai
  Cc: oleg, sj, linux-mm, linux-kernel, Breno Leitao, kernel-team,
	stable

kmemleak_scan() scans every task stack under one rcu_read_lock() with no
reschedule point, which can trip the soft lockup watchdog on hosts with
very many threads.

That prints the following message, depending on the workload+host
configuration:

      watchdog: BUG: soft lockup - CPU#35 stuck for 22s! [kmemleak:537]
       scan_block
       kmemleak_scan
       kmemleak_scan_thread
       kthread

Patch 1 walks the tasks with find_ge_pid() so the scan reschedules between
tasks

Patches 2-3 let the scan loops stop early once a scan is interrupted.

Signed-off-by: Breno Leitao <leitao@debian.org>
---
Changes in v3:
- Rework the task stack walk to use find_ge_pid() instead of v1's array
  and v2's rcu_lock_break() helper (Catalin).
- Add two follow-up patches letting scan_block() report an interrupted
  scan so the scan loops stop early.
- Link to v2: https://lore.kernel.org/r/20260612-kmemleak-stack-resched-v2-1-53240de79e88@debian.org

Changes in v2:
- Do not create the nasty array, but use the same pattern as
  kernel/hung_task.c.
- Link to v1: https://lore.kernel.org/r/20260611-kmemleak-stack-resched-v1-1-d6248ade5f4a@debian.org

---
Breno Leitao (3):
      mm/kmemleak: avoid soft lockup when scanning task stacks
      mm/kmemleak: stop the task stack scan early when interrupted
      mm/kmemleak: stop the per-cpu and struct page scans early too

 mm/kmemleak.c | 88 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 65 insertions(+), 23 deletions(-)
---
base-commit: abe651837cb394f76d738a7a747322fca3bf17ba
change-id: 20260611-kmemleak-stack-resched-01ed72858a7f

Best regards,
-- 
Breno Leitao <leitao@debian.org>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-06-16  2:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-15 17:49 [PATCH v3 0/3] mm/kmemleak: avoid soft lockup when scanning task stacks Breno Leitao
2026-06-15 17:49 ` [PATCH v3 1/3] " Breno Leitao
2026-06-15 18:24   ` Catalin Marinas
2026-06-15 18:46   ` Davidlohr Bueso
2026-06-16  2:31   ` Lance Yang
2026-06-15 17:49 ` [PATCH v3 2/3] mm/kmemleak: stop the task stack scan early when interrupted Breno Leitao
2026-06-15 18:26   ` Catalin Marinas
2026-06-15 17:49 ` [PATCH v3 3/3] mm/kmemleak: stop the per-cpu and struct page scans early too Breno Leitao
2026-06-15 18:27   ` Catalin Marinas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.