Patch for orabug 9488844
[Subject]: Flush tlb cache immediately.

diff -p -up linux-2.6.9/arch/x86_64/mm/init-xen.c.orig linux-2.6.9/arch/x86_64/mm/init-xen.c
--- linux-2.6.9/arch/x86_64/mm/init-xen.c.orig	2010-03-31 11:15:29.000000000 +0800
+++ linux-2.6.9/arch/x86_64/mm/init-xen.c	2010-03-31 11:14:46.000000000 +0800
@@ -111,7 +111,7 @@ void make_page_readonly(void *va, unsign
 	ptep = pte_offset_kernel(pmd, addr);
 
 	pte.pte = ptep->pte & ~_PAGE_RW;
-	if (HYPERVISOR_update_va_mapping(addr, pte, 0))
+	if (HYPERVISOR_update_va_mapping(addr, pte, UVMF_INVLPG|UVMF_ALL))
 		xen_l1_entry_update(ptep, pte); /* fallback */
 
 	if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
@@ -131,7 +131,7 @@ void make_page_writable(void *va, unsign
 	ptep = pte_offset_kernel(pmd, addr);
 
 	pte.pte = ptep->pte | _PAGE_RW;
-	if (HYPERVISOR_update_va_mapping(addr, pte, 0))
+	if (HYPERVISOR_update_va_mapping(addr, pte, UVMF_INVLPG|UVMF_ALL))
 		xen_l1_entry_update(ptep, pte); /* fallback */
 
 	if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
