Messages in this thread | | | Date | Sat, 03 Jul 2010 14:48:35 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH v4 5/6] KVM: MMU: combine guest pte read between walk and pte prefetch |
| |
On 07/02/2010 08:03 PM, Marcelo Tosatti wrote: > On Thu, Jul 01, 2010 at 09:55:56PM +0800, Xiao Guangrong wrote: > >> Combine guest pte read between guest pte walk and pte prefetch >> >> Signed-off-by: Xiao Guangrong<xiaoguangrong@cn.fujitsu.com> >> --- >> arch/x86/kvm/paging_tmpl.h | 48 ++++++++++++++++++++++++++++++------------- >> 1 files changed, 33 insertions(+), 15 deletions(-) >> > Can't do this, it can miss invlpg: > > vcpu0 vcpu1 > read guest ptes > modify guest pte > invlpg > instantiate stale > guest pte > > See how the pte is reread inside fetch with mmu_lock held. >
Note, this is fine if the pte is unsync, since vcpu0 will soon invlpg it. It's only broken for sync ptes.
-- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
| |