On Tue, Feb 24, 2026 at 05:57:57PM +0000, Catalin Marinas wrote:
The default shadow stack size allocated on first prctl() for the main
thread or subsequently on clone() is either half of RLIMIT_STACK or half
of a thread's stack size (for arm64). Both of these are likely to be
suitable for a THP allocation and the kernel is more aggressive in
creating such mappings. However, it does not make much sense to use a
huge page. It didn't make sense for the normal stacks either, see commit
c4608d1bf7c6 ("mm: mmap: map MAP_STACK to VM_NOHUGEPAGE").
Reviewed-by: Mark Brown <broonie@kernel.org>
The create THP and immediately splitting it pattern is very clear when
checking the mm behaviour on new GCSs, this should help performance.