KVM: VMX: Execute WBINVD to keep data consistency with assigned devices
authorSheng Yang <sheng@linux.intel.com>
Wed, 30 Jun 2010 04:25:15 +0000 (12:25 +0800)
committerAvi Kivity <avi@redhat.com>
Sun, 1 Aug 2010 07:47:21 +0000 (10:47 +0300)
Some guest device driver may leverage the "Non-Snoop" I/O, and explicitly
WBINVD or CLFLUSH to a RAM space. Since migration may occur before WBINVD or
CLFLUSH, we need to maintain data consistency either by:
1: flushing cache (wbinvd) when the guest is scheduled out if there is no
wbinvd exit, or
2: execute wbinvd on all dirty physical CPUs when guest wbinvd exits.

Signed-off-by: Yaozu (Eddie) Dong <eddie.dong@intel.com>
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

No differences found