]> xenbits.xensource.com Git - xen.git/commit
x86: slightly reduce Meltdown band-aid overhead
authorJan Beulich <jbeulich@suse.com>
Tue, 6 Mar 2018 15:48:44 +0000 (16:48 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 6 Mar 2018 15:48:44 +0000 (16:48 +0100)
commit9d1d31ad9498e6ceb285d5774e34fed5f648c273
treef081448cc19af9b947b481498d3c18b6ba47d11d
parent0d9acbdd8d6edcc8f1572a270b087c36e81504fd
x86: slightly reduce Meltdown band-aid overhead

I'm not sure why I didn't do this right away: By avoiding the use of
global PTEs in the cloned directmap, there's no need to fiddle with
CR4.PGE on any of the entry paths. Only the exit paths need to flush
global mappings.

The reduced flushing, however, requires that we now have interrupts off
on all entry paths until after the page table switch, so that flush IPIs
can't be serviced while on the restricted pagetables, leaving a window
where a potentially stale guest global mapping can be brought into the
TLB. Along those lines the "sync" IPI after L4 entry updates now needs
to become a real (and global) flush IPI, so that inside Xen we'll also
pick up such changes.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/mm.c
xen/arch/x86/smpboot.c
xen/arch/x86/x86_64/compat/entry.S
xen/arch/x86/x86_64/entry.S