Re: [PATCH v2 2/2] arm64: mmu: avoid allocating pages while installing ng-mapping for KPTI
From: Yeoreum Yun <hidden>
Date: 2025-12-18 10:08:57
Also in:
linux-rt-devel, lkml
Hi David,
On 12/18/25 10:31, Yeoreum Yun wrote:quoted
Hi David,quoted
On 12/18/25 09:37, Yeoreum Yun wrote:quoted
[...]quoted
quoted
I think it would be better to use only __GFP_HIGH in here since when kpti_install_ng_mappings() is called, "kswpd" doesn't created yet. and to allocate page with assurance, It would be good to use min_reserved to. Am I missing something?Personally I think we should just use "GFP_KERNEL | __GFP_ZERO". Anything else would make this allocation look special, which it is not. If we fail to allocate at this point in boot, we have bigger problems.But I'm not sure *HOW effective* to use GFP_KERNEL in here. Since it's before the any filesystem inited. IOW, in this context, almost there would be no *page cache* and I think it seems meaningless to use "GFP_KERNEL" and "direct reclaim" So to get success for allocation, __GFP_HIGH | _GFP_ZERO seems much better.Unless there is a real reason to confuse readers why this is very special, just go with "GFP_KERNEL | __GFP_ZERO", really. In particular if it doesn't matter in practice? Or does it and we are not getting your point?My worries was - kpti_install_ng_mappings() is called while in "smp_init()" which is before creating the kswapd thread via module_init(). Just wondered whether it allows to call wakeup_kswapd() before kswapd is created.The buddy should really be able to deal with that, no?quoted
- Similar reason kcompactd too.Same as well.
Nope. buddy handles them. It was a past :)
We cannot expect alloc API users to know about these hidden details to work around them :)quoted
- Just wonder how much direct reclaim is effecitve since when kpti_install_ng_mappings() called before each filesystem initialised where not much of page cache in usage.Right, but do you really think we would ever trigger that path? The default should always be GFP_KERNEL unless we have for very good reason special demands. So, do you think in practice there is real value in NOT using GFP_KERNEL? :)
In the *practical view*. Absoultely NOT since I don't think it reaches those codes. Okay. I'll change with GFP_KERNEL | __GFP_ZERO. Thanks! -- Sincerely, Yeoreum Yun