On 07/11/2025 12:31, Ryan Roberts wrote: > On 29/10/2025 10:08, Kevin Brodsky wrote: >> arch_flush_lazy_mmu_mode() is called when outstanding batched >> pgtable operations must be completed immediately. There should >> however be no need to leave and re-enter lazy MMU completely. The >> only part of that sequence that we really need is xen_mc_flush(); >> call it directly. >> >> Signed-off-by: Kevin Brodsky <[email protected]> > This looks functionally equivalent to me, so: > > Reviewed-by: Ryan Roberts <[email protected]> > > But I don't think this tidy up is strictly necessary for your series to work? > (perhaps I'll change my mind on that as I go through it).
I initially thought it might be, but in the end I think you're right - it should still work fine without this patch. Still, I'd rather avoid unnecessary calls to arch_enter() and arch_leave() as it makes it harder to reason about what is called where. Namely, keeping them here means that a nested call to lazy_mmu_mode_disable() would cause arch_leave() then arch_enter() to be called - rather unexpected. The only calls to arch_enter() and arch_leave() that are left after this series are the ones in <linux/pgtable.h> and the Xen context-switching logic (the one case where calling arch hooks directly is justified, see discussion on v3 [1]). - Kevin [1] https://lore.kernel.org/all/[email protected]/
