On Mon, Apr 25, 2022, Oliver Upton wrote: > On Mon, Apr 25, 2022 at 8:13 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > > > On Fri, Apr 15, 2022, Oliver Upton wrote: > > > The ARM architecture requires that software use the 'break-before-make' > > > sequence whenever memory is being remapped. > > > > What does "remapped" mean here? Changing the pfn? Promoting/demoting to/from a > > huge page? > > Both, but in the case of this series it is mostly concerned with > promotion/demotion. I'll make this language a bit more precise next > time around. Please be very precise :-) It matters because it should be impossible for KVM to actually change a PFN in a valid PTE. Callers of mmu_notifier_change_pte() are required to bookend it with mmu_notifier_invalidate_range_start/end(), i.e. KVM should have zapped all PTEs and should not establish new PTEs. I'd actually like to drop mmu_notifier_change_pte() altogether, because for all intents and purposes, it's dead code. But convincing "everyone" that dropping it instead of trying to salvage it for KSM is too much work :-)