Re: [PATCH v2] mm/migrate: fix softlockup in do_pages_stat() with huge page arrays
From: David Hildenbrand
Date: Thu Nov 05 2026 - 04:44:18 EST
On Tue, 03 Nov 2026 16:05:57 +0800, Qi Xi wrote:
> do_pages_stat() walks the user page array in 16-page chunks but never
> reschedules, so a huge nr_pages can hold a CPU past the watchdog
> threshold on non-preemptible kernels. Add cond_resched() to the loop so
> long move_pages() node-query calls yield periodically.
>
> With KASAN and function tracing enabled, a move_pages() node query
> (nodes == NULL) over 10 million page entries (~40GB of mapped memory)
> reproduces the softlockup on a 6.6-based arm64 kernel with
> CONFIG_PREEMPT_NONE=y.
>
> [...]
Applied, thanks!
tree: mm/core.git
branch: migrate-7.5.misc
Applied patches will appear soon in mm-next, followed by linux-next.
Please report any outstanding bugs that were missed during review, so we
can either drop the patch series or decide how to fix it up.
It is encouraged to provide Acked-bys, Reviewed-bys, and Tested-bys even
though the patches have already been applied. If possible, patch trailers
will be updated.
Note that commit hashes shown below are subject to change due to rebase,
trailer updates or similar. Further, this is not a guarantee that the
patches will go upstream. If in doubt, please check the listed branch.
[1/1] mm/migrate: fix softlockup in do_pages_stat() with huge page arrays
https://git.kernel.org/mm/core/c/10f2ae9f
--
Cheers,
David