2017-04-11 10:37+0100, James Hogan: > Hi Paolo, > > On Tue, Apr 11, 2017 at 01:25:04PM +0800, Paolo Bonzini wrote: >> On 07/04/2017 05:02, James Hogan wrote: >> > This presumably changes the behaviour on x86, from != OUTSIDE_GUEST_MODE >> > to == IN_GUEST_MODE. so: >> > - you'll no longer get IPIs if its in READING_SHADOW_PAGE_TABLES (which >> > MIPS also now uses when accessing mappings outside of guest mode and >> > depends upon to wait until the old mappings are no longer in use). >> >> This is wrong, the purpose of READING_SHADOW_PAGE_TABLES is "kvm_flush_remote_tlbs >> should send me an IPI, because I want to stop kvm_flush_remote_tlbs until I'm done >> reading the page tables". > > That sounds equivalent to what I meant for MIPS, i.e. > kvm_flush_remote_tlbs() does the waiting (not the thing accessing guest > mappings). I agree, thanks for noticing this. It would be a huge mistake to drop the synchronization.