[PATCH 0/7] Nesting support for lazy MMU mode
Alexander Gordeev
agordeev at linux.ibm.com
Fri Sep 5 19:46:23 AEST 2025
On Thu, Sep 04, 2025 at 01:57:29PM +0100, Kevin Brodsky wrote:
Hi Kevin,
> When the lazy MMU mode was introduced eons ago, it wasn't made clear
> whether such a sequence was legal:
>
> arch_enter_lazy_mmu_mode()
> ...
> arch_enter_lazy_mmu_mode()
> ...
> arch_leave_lazy_mmu_mode()
> ...
> arch_leave_lazy_mmu_mode()
I did not take too deep - sorry if you already answered this.
Quick question - whether a concern Ryan expressed is addressed
in general case?
https://lore.kernel.org/all/3cad01ea-b704-4156-807e-7a83643917a8@arm.com/
enter_lazy_mmu
for_each_pte {
read/modify-write pte
alloc_page
enter_lazy_mmu
make page valid
exit_lazy_mmu
write_to_page
}
exit_lazy_mmu
<quote>
This example only works because lazy_mmu doesn't support nesting. The "make page
valid" operation is completed by the time of the inner exit_lazy_mmu so that the
page can be accessed in write_to_page. If nesting was supported, the inner
exit_lazy_mmu would become a nop and write_to_page would explode.
</quote>
...
Thanks!
More information about the Linuxppc-dev
mailing list