From: kernel.org Subject: 2.6.25-rc6 ## Automatically generated incremental diff ## From: linux-2.6.25-rc5 ## To: linux-2.6.25-rc6 ## Robot: $Id: 1027-2.6.25-xen-patch-2.6.25-rc5-rc6.patch,v 1.1 2008-05-23 17:35:36 niro Exp $ Automatically created from "patches.kernel.org/patch-2.6.25-rc5-rc6" by xen-port-patches.py Acked-by: jbeulich@novell.com Index: head-2008-04-02/arch/x86/mm/ioremap-xen.c =================================================================== --- head-2008-04-02.orig/arch/x86/mm/ioremap-xen.c 2008-04-02 15:57:30.000000000 +0200 +++ head-2008-04-02/arch/x86/mm/ioremap-xen.c 2008-04-02 15:58:04.000000000 +0200 @@ -299,8 +299,6 @@ static void __iomem *__ioremap(unsigned return NULL; } - WARN_ON_ONCE(domid == DOMID_SELF); - switch (mode) { case IOR_MODE_UNCACHED: default: Index: head-2008-04-02/arch/x86/mm/pgtable_32-xen.c =================================================================== --- head-2008-04-02.orig/arch/x86/mm/pgtable_32-xen.c 2008-04-02 14:25:44.000000000 +0200 +++ head-2008-04-02/arch/x86/mm/pgtable_32-xen.c 2008-03-17 10:46:19.000000000 +0100 @@ -339,14 +339,18 @@ static void pgd_mop_up_pmds(struct mm_st pgd_t *pgd_alloc(struct mm_struct *mm) { - pgd_t *pgd = quicklist_alloc(0, GFP_KERNEL, pgd_ctor); + pgd_t *pgd = (pgd_t *)__get_free_page(GFP_KERNEL | __GFP_ZERO); pgd_test_and_unpin(pgd); - mm->pgd = pgd; /* so that alloc_pd can use it */ + /* so that alloc_pd can use it */ + mm->pgd = pgd; + if (pgd) + pgd_ctor(pgd); if (pgd && !pgd_prepopulate_pmd(mm, pgd)) { - quicklist_free(0, pgd_dtor, pgd); + pgd_dtor(pgd); + free_page((unsigned long)pgd); pgd = NULL; } @@ -369,12 +373,8 @@ void pgd_free(struct mm_struct *mm, pgd_ xen_destroy_contiguous_region((unsigned long)pgd, 0); pgd_mop_up_pmds(mm, pgd); - quicklist_free(0, pgd_dtor, pgd); -} - -void check_pgt_cache(void) -{ - quicklist_trim(0, pgd_dtor, 25, 16); + pgd_dtor(pgd); + free_page((unsigned long)pgd); } void __pte_free_tlb(struct mmu_gather *tlb, struct page *pte) Index: head-2008-04-02/include/asm-x86/mach-xen/asm/pgtable_32.h =================================================================== --- head-2008-04-02.orig/include/asm-x86/mach-xen/asm/pgtable_32.h 2008-04-02 15:51:46.000000000 +0200 +++ head-2008-04-02/include/asm-x86/mach-xen/asm/pgtable_32.h 2008-04-02 15:53:22.000000000 +0200 @@ -26,10 +26,9 @@ struct vm_area_struct; extern pgd_t *swapper_pg_dir; -extern struct kmem_cache *pmd_cache; -void check_pgt_cache(void); -static inline void pgtable_cache_init(void) {} +static inline void pgtable_cache_init(void) { } +static inline void check_pgt_cache(void) { } void paging_init(void);