Re: [PATCH v4 5/6] KVM: MMU: combine guest pte read between walkand pte prefetch

From: Avi Kivity
Date: Sat Jul 03 2010 - 07:49:00 EST


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@xxxxxxxxxxxxxx>
---
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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/