Messages in this thread | | | Subject | Re: [GIT PULL v3] Early boot SLAB for 2.6.31 | From | Pekka Enberg <> | Date | Fri, 12 Jun 2009 11:37:25 +0300 |
| |
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@kernel.org> > > --- > 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
| |