Re: [GIT PULL v3] Early boot SLAB for 2.6.31
From: Pekka Enberg
Date: Fri Jun 12 2009 - 04:37:41 EST
On Thu, 2009-06-11 at 16:14 -0700, Yinghai Lu wrote:
> please check
>
> [PATCH] x86: make zap_low_mapping could be used early
>
> only one cpu is there, just call __flush_tlb for it
>
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
>
> ---
> arch/x86/include/asm/tlbflush.h | 2 +-
> arch/x86/kernel/smpboot.c | 2 +-
> arch/x86/mm/init_32.c | 10 +++++++---
> 3 files changed, 9 insertions(+), 5 deletions(-)
>
> Index: linux-2.6/arch/x86/include/asm/tlbflush.h
> ===================================================================
> --- linux-2.6.orig/arch/x86/include/asm/tlbflush.h
> +++ linux-2.6/arch/x86/include/asm/tlbflush.h
> @@ -172,6 +172,6 @@ static inline void flush_tlb_kernel_rang
> flush_tlb_all();
> }
>
> -extern void zap_low_mappings(void);
> +extern void zap_low_mappings(bool early);
>
> #endif /* _ASM_X86_TLBFLUSH_H */
> Index: linux-2.6/arch/x86/kernel/smpboot.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/kernel/smpboot.c
> +++ linux-2.6/arch/x86/kernel/smpboot.c
> @@ -875,7 +875,7 @@ int __cpuinit native_cpu_up(unsigned int
>
> err = do_boot_cpu(apicid, cpu);
>
> - zap_low_mappings();
> + zap_low_mappings(false);
> low_mappings = 0;
> #else
> err = do_boot_cpu(apicid, cpu);
> Index: linux-2.6/arch/x86/mm/init_32.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/mm/init_32.c
> +++ linux-2.6/arch/x86/mm/init_32.c
> @@ -576,7 +576,7 @@ static inline void save_pg_dir(void)
> }
> #endif /* !CONFIG_ACPI_SLEEP */
>
> -void zap_low_mappings(void)
> +void zap_low_mappings(bool early)
> {
> int i;
>
> @@ -593,7 +593,11 @@ void zap_low_mappings(void)
> set_pgd(swapper_pg_dir+i, __pgd(0));
> #endif
> }
> - flush_tlb_all();
> +
> + if (early)
> + __flush_tlb();
> + else
> + flush_tlb_all();
> }
>
> pteval_t __supported_pte_mask __read_mostly = ~(_PAGE_NX | _PAGE_GLOBAL | _PAGE_IOMAP);
> @@ -968,7 +972,7 @@ void __init mem_init(void)
> test_wp_bit();
>
> save_pg_dir();
> - zap_low_mappings();
> + zap_low_mappings(true);
> }
>
> #ifdef CONFIG_MEMORY_HOTPLUG
Applied, thanks!
Pekka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/