Message ID | cccc5b8516ce8cb57bedf2c51cf67f9a2ca95242.1521452718.git.christophe.leroy@c-s.fr (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] powerpc/mm: Add missing tracepoint for tlbie | expand |
On Mon, 19 Mar 2018 11:32:40 +0100 (CET) Christophe Leroy <christophe.leroy@c-s.fr> wrote: > Add a trace point for tlbia (Translation Lookaside Buffer Invalidate > All) instruction. > > Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> > --- > arch/powerpc/include/asm/trace.h | 15 +++++++++++++++ > arch/powerpc/mm/mmu_decl.h | 2 ++ > 2 files changed, 17 insertions(+) > > diff --git a/arch/powerpc/include/asm/trace.h b/arch/powerpc/include/asm/trace.h > index 33f3b479138b..d1d63b173dd7 100644 > --- a/arch/powerpc/include/asm/trace.h > +++ b/arch/powerpc/include/asm/trace.h > @@ -202,6 +202,21 @@ TRACE_EVENT(tlbie, > __entry->r) > ); > > +TRACE_EVENT(tlbia, > + > + TP_PROTO(unsigned long lpid), > + TP_ARGS(lpid), > + TP_STRUCT__entry( > + __field(unsigned long, lpid) > + ), > + > + TP_fast_assign( > + __entry->lpid = lpid; > + ), > + > + TP_printk("lpid=%ld", __entry->lpid) > +); Do we want to call this lpid? Balbir Singh.
Le 19/03/2018 à 23:43, Balbir Singh a écrit : > On Mon, 19 Mar 2018 11:32:40 +0100 (CET) > Christophe Leroy <christophe.leroy@c-s.fr> wrote: > >> Add a trace point for tlbia (Translation Lookaside Buffer Invalidate >> All) instruction. >> >> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> >> --- >> arch/powerpc/include/asm/trace.h | 15 +++++++++++++++ >> arch/powerpc/mm/mmu_decl.h | 2 ++ >> 2 files changed, 17 insertions(+) >> >> diff --git a/arch/powerpc/include/asm/trace.h b/arch/powerpc/include/asm/trace.h >> index 33f3b479138b..d1d63b173dd7 100644 >> --- a/arch/powerpc/include/asm/trace.h >> +++ b/arch/powerpc/include/asm/trace.h >> @@ -202,6 +202,21 @@ TRACE_EVENT(tlbie, >> __entry->r) >> ); >> >> +TRACE_EVENT(tlbia, >> + >> + TP_PROTO(unsigned long lpid), >> + TP_ARGS(lpid), >> + TP_STRUCT__entry( >> + __field(unsigned long, lpid) >> + ), >> + >> + TP_fast_assign( >> + __entry->lpid = lpid; >> + ), >> + >> + TP_printk("lpid=%ld", __entry->lpid) >> +); > > > Do we want to call this lpid? > Should we can it rs in consistence with tlbie trace ? Or just pid ? Allthough it is not an argument used by tlbia, I think it is good to keep a trace of it to keep track of the reason why tlbia is called. Christophe
Hi Christophe,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180320]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/powerpc-mm-Add-missing-tracepoint-for-tlbie/20180320-130831
config: powerpc-g5_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc
All errors (new ones prefixed by >>):
>> arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0x0): multiple definition of `__tracepoint_tlbia'
arch/powerpc/kernel/irq.o:(__tracepoints+0x50): first defined here
arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0x28): multiple definition of `__tracepoint_tlbie'
arch/powerpc/kernel/irq.o:(__tracepoints+0x78): first defined here
arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0x50): multiple definition of `__tracepoint_hash_fault'
arch/powerpc/kernel/irq.o:(__tracepoints+0xa0): first defined here
arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0x78): multiple definition of `__tracepoint_timer_interrupt_exit'
arch/powerpc/kernel/irq.o:(__tracepoints+0xc8): first defined here
arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0xa0): multiple definition of `__tracepoint_timer_interrupt_entry'
arch/powerpc/kernel/irq.o:(__tracepoints+0xf0): first defined here
arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0xc8): multiple definition of `__tracepoint_irq_exit'
arch/powerpc/kernel/irq.o:(__tracepoints+0x28): first defined here
arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0xf0): multiple definition of `__tracepoint_irq_entry'
arch/powerpc/kernel/irq.o:(__tracepoints+0x0): first defined here
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/arch/powerpc/include/asm/trace.h b/arch/powerpc/include/asm/trace.h index 33f3b479138b..d1d63b173dd7 100644 --- a/arch/powerpc/include/asm/trace.h +++ b/arch/powerpc/include/asm/trace.h @@ -202,6 +202,21 @@ TRACE_EVENT(tlbie, __entry->r) ); +TRACE_EVENT(tlbia, + + TP_PROTO(unsigned long lpid), + TP_ARGS(lpid), + TP_STRUCT__entry( + __field(unsigned long, lpid) + ), + + TP_fast_assign( + __entry->lpid = lpid; + ), + + TP_printk("lpid=%ld", __entry->lpid) +); + #endif /* _TRACE_POWERPC_H */ #undef TRACE_INCLUDE_PATH diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index b9991e0c61a2..d4ae7b5d45fe 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h @@ -32,10 +32,12 @@ static inline void _tlbil_all(void) { asm volatile ("sync; tlbia; isync" : : : "memory"); + trace_tlbia(MMU_NO_CONTEXT); } static inline void _tlbil_pid(unsigned int pid) { asm volatile ("sync; tlbia; isync" : : : "memory"); + trace_tlbia(pid); } #define _tlbil_pid_noind(pid) _tlbil_pid(pid)
Add a trace point for tlbia (Translation Lookaside Buffer Invalidate All) instruction. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- arch/powerpc/include/asm/trace.h | 15 +++++++++++++++ arch/powerpc/mm/mmu_decl.h | 2 ++ 2 files changed, 17 insertions(+)