[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Fix vmalloc_fault() path for x86/64 XenLinux.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID c63e764da7851205fbbfd3ffe5a10454e25e8bdc # Parent 7bd1a40ae2bd1895190f7df580afb7ea8426eb50 Fix vmalloc_fault() path for x86/64 XenLinux. There may be a deeper underlying problem w.r.t pagetable initialisation at start of day, but this simple fix is a good workaround until we have time to investigate properly. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> diff -r 7bd1a40ae2bd -r c63e764da785 linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c --- a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c Wed Aug 17 16:53:30 2005 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c Wed Aug 17 18:14:46 2005 @@ -250,7 +250,11 @@ happen within a race in page table update. In the later case just flush. */ - pgd = pgd_offset(current->mm ?: &init_mm, address); + /* On Xen the line below does not always work. Needs investigating! */ + /*pgd = pgd_offset(current->mm ?: &init_mm, address);*/ + pgd = (pgd_t *)per_cpu(cur_pgd, smp_processor_id()); + pgd += pgd_index(address); + pgd_ref = pgd_offset_k(address); if (pgd_none(*pgd_ref)) return -1; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |