aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-09-09 18:43:25 -0400
committerIngo Molnar <mingo@elte.hu>2008-09-10 08:05:53 -0400
commit6a9e91846bf52cc70a0417de19fdfac224c435c4 (patch)
tree5ed5ec79c529aa3c579de3ac984d10f9d59c1b8f /arch/x86/xen
parent3ce9bcb583536c45a46c7302747029450e22279c (diff)
xen: fix pinning when not using split pte locks
We only pin PTE pages when using split PTE locks, so don't do the pin/unpin when attaching/detaching pte pages to a pinned pagetable. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/xen')
-rw-r--r--arch/x86/xen/enlighten.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index b106e825d266..8ca2f88bde1e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -826,7 +826,7 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
826 826
827 if (!PageHighMem(page)) { 827 if (!PageHighMem(page)) {
828 make_lowmem_page_readonly(__va(PFN_PHYS((unsigned long)pfn))); 828 make_lowmem_page_readonly(__va(PFN_PHYS((unsigned long)pfn)));
829 if (level == PT_PTE) 829 if (level == PT_PTE && USE_SPLIT_PTLOCKS)
830 pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn); 830 pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn);
831 } else 831 } else
832 /* make sure there are no stray mappings of 832 /* make sure there are no stray mappings of
@@ -894,7 +894,7 @@ static void xen_release_ptpage(u32 pfn, unsigned level)
894 894
895 if (PagePinned(page)) { 895 if (PagePinned(page)) {
896 if (!PageHighMem(page)) { 896 if (!PageHighMem(page)) {
897 if (level == PT_PTE) 897 if (level == PT_PTE && USE_SPLIT_PTLOCKS)
898 pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn); 898 pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn);
899 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn))); 899 make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
900 } 900 }