On 08.09.25 09:39, Kevin Brodsky wrote: > Commit 49147beb0ccb ("x86/xen: allow nesting of same lazy mode") > originally introduced support for nested lazy sections (LAZY_MMU and > LAZY_CPU). It later got reverted by commit c36549ff8d84 as its > implementation turned out to be intolerant to preemption. > > Now that the lazy_mmu API allows enter() to pass through a state to > the matching leave() call, we can support nesting again for the > LAZY_MMU mode in a preemption-safe manner. If xen_enter_lazy_mmu() is > called inside an active lazy_mmu section, xen_lazy_mode will already > be set to XEN_LAZY_MMU and we can then return LAZY_MMU_NESTED to > instruct the matching xen_leave_lazy_mmu() call to leave > xen_lazy_mode unchanged. > > The only effect of this patch is to ensure that xen_lazy_mode > remains set to XEN_LAZY_MMU until the outermost lazy_mmu section > ends. xen_leave_lazy_mmu() still calls xen_mc_flush() > unconditionally. > > Signed-off-by: Kevin Brodsky Reviewed-by: Juergen Gross Juergen