On 10/04/18 11:00, Jan Beulich wrote: >>>> On 10.04.18 at 09:58, <jgr...@suse.com> wrote: >> For mitigation of Meltdown the current L4 page table is copied to the >> cpu local root page table each time a 64 bit pv guest is entered. >> >> Copying can be avoided in cases where the guest L4 page table hasn't >> been modified while running the hypervisor, e.g. when handling >> interrupts or any hypercall not modifying the L4 page table or %cr3. >> >> So add a per-cpu flag indicating whether the copying should be >> performed and set that flag only when loading a new %cr3 or modifying >> the L4 page table. This includes synchronization of the cpu local >> root page table with other cpus, so add a special synchronization flag >> for that case. >> >> A simple performance check (compiling the hypervisor via "make -j 4") >> in dom0 with 4 vcpus shows a significant improvement: >> >> - real time drops from 112 seconds to 103 seconds >> - system time drops from 142 seconds to 131 seconds >> >> Signed-off-by: Juergen Gross <jgr...@suse.com> > > Reviewed-by: Jan Beulich <jbeul...@suse.com> > >> --- >> V6: >> - correct an error from rebasing to staging in assembly part > > I have to admit that without digging out v5 I can't spot the > change.
It is subtle, even more as patch 3 corrected the error again. In restore_all_guest pv_cr3 must be tested for being zero before testing whether to copy the root page table. Juergen _______________________________________________ Xen-devel mailing list Xenemail@example.com https://lists.xenproject.org/mailman/listinfo/xen-devel