Message ID | 94728e239cad2224383db7ddc1c57df7d11561eb.1442939410.git.christophe.leroy@c-s.fr (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Scott Wood |
Headers | show |
On Tue, Sep 22, 2015 at 06:50:54PM +0200, Christophe Leroy wrote: > We are spending between 40 and 160 cycles with a mean of 65 cycles > in the TLB handling routines (measured with mftbl) so make it more > simple althought it adds one instruction > > Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> > --- > No change in v2 > > arch/powerpc/kernel/head_8xx.S | 15 ++++----------- > 1 file changed, 4 insertions(+), 11 deletions(-) Why is this a separate patch from 1/25? Same comments as on that patch. -Scott
Le 29/09/2015 02:00, Scott Wood a écrit : > On Tue, Sep 22, 2015 at 06:50:54PM +0200, Christophe Leroy wrote: >> We are spending between 40 and 160 cycles with a mean of 65 cycles >> in the TLB handling routines (measured with mftbl) so make it more >> simple althought it adds one instruction >> >> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> >> --- >> No change in v2 >> >> arch/powerpc/kernel/head_8xx.S | 15 ++++----------- >> 1 file changed, 4 insertions(+), 11 deletions(-) > Why is this a separate patch from 1/25? > > Same comments as on that patch. > > Just because here there is no real need behind the simplification of the code, whereas the first one was a pre-requisite for the following patch. Should I merge them together anyway ? Christophe
On Tue, 2015-10-06 at 16:12 +0200, Christophe Leroy wrote: > Le 29/09/2015 02:00, Scott Wood a écrit : > > On Tue, Sep 22, 2015 at 06:50:54PM +0200, Christophe Leroy wrote: > > > We are spending between 40 and 160 cycles with a mean of 65 cycles > > > in the TLB handling routines (measured with mftbl) so make it more > > > simple althought it adds one instruction > > > > > > Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> > > > --- > > > No change in v2 > > > > > > arch/powerpc/kernel/head_8xx.S | 15 ++++----------- > > > 1 file changed, 4 insertions(+), 11 deletions(-) > > Why is this a separate patch from 1/25? > > > > Same comments as on that patch. > > > > > Just because here there is no real need behind the simplification of the > code, whereas the first one was a pre-requisite for the following patch. > Should I merge them together anyway ? If there's no real need, why do it? It's not really a major readability enhancement... -Scott
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 1238fbe..6c991e9 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S @@ -352,30 +352,25 @@ SystemCall: #endif InstructionTLBMiss: -#ifdef CONFIG_8xx_CPU6 mtspr SPRN_SPRG_SCRATCH2, r3 -#endif EXCEPTION_PROLOG_0 /* If we are faulting a kernel address, we have to use the * kernel page tables. */ + mfspr r10, SPRN_SRR0 /* Get effective address of fault */ + INVALIDATE_ADJACENT_PAGES_CPU15(r11, r10) #ifdef CONFIG_MODULES /* Only modules will cause ITLB Misses as we always * pin the first 8MB of kernel memory */ - mfspr r11, SPRN_SRR0 /* Get effective address of fault */ - INVALIDATE_ADJACENT_PAGES_CPU15(r10, r11) - mfcr r10 + mfcr r3 IS_KERNEL(r11, r11) mfspr r11, SPRN_M_TW /* Get level 1 table */ BRANCH_UNLESS_KERNEL(3f) lis r11, (swapper_pg_dir-PAGE_OFFSET)@ha 3: - mtcr r10 - mfspr r10, SPRN_SRR0 /* Get effective address of fault */ + mtcr r3 #else - mfspr r10, SPRN_SRR0 /* Get effective address of fault */ - INVALIDATE_ADJACENT_PAGES_CPU15(r11, r10) mfspr r11, SPRN_M_TW /* Get level 1 table base address */ #endif /* Insert level 1 index */ @@ -408,9 +403,7 @@ InstructionTLBMiss: MTSPR_CPU6(SPRN_MI_RPN, r10, r3) /* Update TLB entry */ /* Restore registers */ -#ifdef CONFIG_8xx_CPU6 mfspr r3, SPRN_SPRG_SCRATCH2 -#endif EXCEPTION_EPILOG_0 rfi
We are spending between 40 and 160 cycles with a mean of 65 cycles in the TLB handling routines (measured with mftbl) so make it more simple althought it adds one instruction Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- No change in v2 arch/powerpc/kernel/head_8xx.S | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-)