[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Patch below is needed to make my system work stable in PAE mode.



ChangeSet 1.1748.1.1, 2005/06/24 10:26:29+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Patch below is needed to make my system work stable in PAE mode.
        Havn't seen problems without PAE, not sure whenever thats just
        pure luck or whenever there is a bug in my PAE xenlinux kernel.
        To me it looks like a generic bug though.
        
        I've actually trapped into problems with unpin only:  A process
        exits, somewhere in exit_mm() the page tables are unpinned,
        shortly thereafter the mappings are cleared.  While doing so the
        kernel oopses in zap_pte_range(), on page table write access.
        Probably due to some stale tlb entry where the page is still
        tagged read-only.



 pgtable.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)


diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c 
b/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c
--- a/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c        2005-06-24 
06:03:12 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c        2005-06-24 
06:03:12 -04:00
@@ -461,7 +461,8 @@
     mm_walk(mm, PAGE_KERNEL_RO);
     HYPERVISOR_update_va_mapping(
         (unsigned long)mm->pgd,
-        pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO), 0);
+        pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO),
+        UVMF_TLB_FLUSH);
     xen_pgd_pin(__pa(mm->pgd));
     mm->context.pinned = 1;
     spin_lock(&mm_unpinned_lock);
@@ -480,6 +481,7 @@
         (unsigned long)mm->pgd,
         pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL), 0);
     mm_walk(mm, PAGE_KERNEL);
+    xen_tlb_flush();
     mm->context.pinned = 0;
     spin_lock(&mm_unpinned_lock);
     list_add(&mm->context.unpinned, &mm_unpinned);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.