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 kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html