|
|
|
|
|
|
|
|
|
|
xen-changelog
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Fix vmalloc_fault() path for x86/64 XenLinux.,
Xen patchbot -unstable <=
|
|
|
|
|