Message ID | 20090723055955.757B4DDD1B@ozlabs.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Hi Ben, On Thu, 23 Jul 2009 15:59:44 +1000 Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote: > > Index: linux-work/arch/powerpc/mm/mmu_context_hash64.c > =================================================================== > --- linux-work.orig/arch/powerpc/mm/mmu_context_hash64.c 2009-07-22 16:24:43.000000000 +1000 > +++ linux-work/arch/powerpc/mm/mmu_context_hash64.c 2009-07-22 16:24:56.000000000 +1000 > @@ -76,3 +76,4 @@ void destroy_context(struct mm_struct *m > > mm->context.id = NO_CONTEXT; > } > + Really? :-(
On Thu, 2009-07-23 at 16:22 +1000, Stephen Rothwell wrote: > Hi Ben, > > On Thu, 23 Jul 2009 15:59:44 +1000 Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote: > > > > Index: linux-work/arch/powerpc/mm/mmu_context_hash64.c > > =================================================================== > > --- linux-work.orig/arch/powerpc/mm/mmu_context_hash64.c 2009-07-22 16:24:43.000000000 +1000 > > +++ linux-work/arch/powerpc/mm/mmu_context_hash64.c 2009-07-22 16:24:56.000000000 +1000 > > @@ -76,3 +76,4 @@ void destroy_context(struct mm_struct *m > > > > mm->context.id = NO_CONTEXT; > > } > > + > > Really? :-( Little mechanical problem, I used to have something in there in a previous rev of the patch, I'll re-spin that one without that bit. Cheers, Ben.
On Jul 23, 2009, at 12:59 AM, Benjamin Herrenschmidt wrote: > Our 64-bit hash context handling has no init function, but 64-bit > Book3E > will use the common mmu_context_nohash.c code which does, so define an > empty inline mmu_context_init() for 64-bit server and call it from > our 64-bit setup_arch() > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > --- > > arch/powerpc/include/asm/mmu_context.h | 7 ++++++- > arch/powerpc/kernel/setup_64.c | 4 ++++ > arch/powerpc/mm/mmu_context_hash64.c | 1 + > 3 files changed, 11 insertions(+), 1 deletion(-) Acked-by: Kumar Gala <galak@kernel.crashing.org> (w/the assumption the respin will just change the whitespace issue). - k
--- linux-work.orig/arch/powerpc/include/asm/mmu_context.h 2009-07-22 16:25:25.000000000 +1000 +++ linux-work/arch/powerpc/include/asm/mmu_context.h 2009-07-22 16:25:50.000000000 +1000 @@ -14,7 +14,6 @@ /* * Most if the context management is out of line */ -extern void mmu_context_init(void); extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm); extern void destroy_context(struct mm_struct *mm); @@ -23,6 +22,12 @@ extern void switch_stab(struct task_stru extern void switch_slb(struct task_struct *tsk, struct mm_struct *mm); extern void set_context(unsigned long id, pgd_t *pgd); +#ifdef CONFIG_PPC_BOOK3S_64 +static inline void mmu_context_init(void) { } +#else +extern void mmu_context_init(void); +#endif + /* * switch_mm is the entry point called from the architecture independent * code in kernel/sched.c Index: linux-work/arch/powerpc/kernel/setup_64.c =================================================================== --- linux-work.orig/arch/powerpc/kernel/setup_64.c 2009-07-22 16:26:23.000000000 +1000 +++ linux-work/arch/powerpc/kernel/setup_64.c 2009-07-22 16:26:31.000000000 +1000 @@ -534,6 +534,10 @@ void __init setup_arch(char **cmdline_p) #endif paging_init(); + + /* Initialize the MMU context management stuff */ + mmu_context_init(); + ppc64_boot_msg(0x15, "Setup Done"); } Index: linux-work/arch/powerpc/mm/mmu_context_hash64.c =================================================================== --- linux-work.orig/arch/powerpc/mm/mmu_context_hash64.c 2009-07-22 16:24:43.000000000 +1000 +++ linux-work/arch/powerpc/mm/mmu_context_hash64.c 2009-07-22 16:24:56.000000000 +1000 @@ -76,3 +76,4 @@ void destroy_context(struct mm_struct *m mm->context.id = NO_CONTEXT; } +
Our 64-bit hash context handling has no init function, but 64-bit Book3E will use the common mmu_context_nohash.c code which does, so define an empty inline mmu_context_init() for 64-bit server and call it from our 64-bit setup_arch() Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> --- arch/powerpc/include/asm/mmu_context.h | 7 ++++++- arch/powerpc/kernel/setup_64.c | 4 ++++ arch/powerpc/mm/mmu_context_hash64.c | 1 + 3 files changed, 11 insertions(+), 1 deletion(-)