]> xenbits.xensource.com Git - xen.git/commit
x86/ept: remove unnecessary sync after resolving misconfigured entries
authorDavid Vrabel <david.vrabel@citrix.com>
Wed, 2 Dec 2015 14:19:53 +0000 (15:19 +0100)
committerJan Beulich <jbeulich@suse.com>
Wed, 2 Dec 2015 14:19:53 +0000 (15:19 +0100)
commitcea357ba4b3335ca5279ee9c00838f85575d5842
treed6cbfeb643ef4b3c886a13bbbce39d151f7cfd98
parentc8eb0ec277ae387e78d685523e0fee633e46f046
x86/ept: remove unnecessary sync after resolving misconfigured entries

When using EPT, type changes are done with the following steps:

1. Set entry as invalid (misconfigured) by settings a reserved memory
type.

2. Flush all EPT and combined translations (ept_sync_domain()).

3. Fixup misconfigured entries as required (on EPT_MISCONFIG vmexits or
when explicitly setting an entry.

Since resolve_misconfig() only updates entries that were misconfigured,
there is no need to invalidate any translations since the hardware
does not cache misconfigured translations (vol 3, section 28.3.2).

Remove the unnecessary (and very expensive) ept_sync_domain() calls).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
xen/arch/x86/mm/p2m-ept.c