Re: [PATCH 1/2] powerpc/mm: Add missing tracepoint for tlbie
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-20180319] [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-maple_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_tlbie' arch/powerpc/kernel/irq.o:(__tracepoints+0x50): first defined here >> arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0x28): multiple definition >> of `__tracepoint_hash_fault' arch/powerpc/kernel/irq.o:(__tracepoints+0x78): first defined here >> arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0x50): multiple definition >> of `__tracepoint_timer_interrupt_exit' arch/powerpc/kernel/irq.o:(__tracepoints+0xa0): first defined here >> arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0x78): multiple definition >> of `__tracepoint_timer_interrupt_entry' arch/powerpc/kernel/irq.o:(__tracepoints+0xc8): first defined here >> arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0xa0): multiple definition >> of `__tracepoint_irq_exit' arch/powerpc/kernel/irq.o:(__tracepoints+0x28): first defined here >> arch/powerpc/mm/pgtable-hash64.o:(__tracepoints+0xc8): multiple definition >> of `__tracepoint_irq_entry' arch/powerpc/kernel/irq.o:(__tracepoints+0x0): first defined here --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 1/2] powerpc/mm: Add missing tracepoint for tlbie
Le 19/03/2018 à 23:39, Balbir Singh a écrit : On Mon, 19 Mar 2018 11:32:38 +0100 (CET) Christophe Leroywrote: commit 0428491cba927 ("powerpc/mm: Trace tlbie(l) instructions") added tracepoints for tlbie calls, but _tlbil_va() was forgotten Fixes: 0428491cba927 ("powerpc/mm: Trace tlbie(l) instructions") Signed-off-by: Christophe Leroy --- arch/powerpc/mm/mmu_decl.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index 57fbc554c785..b9991e0c61a2 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h @@ -21,6 +21,7 @@ #include #include #include +#include #ifdef CONFIG_PPC_MMU_NOHASH @@ -56,6 +57,7 @@ static inline void _tlbil_va(unsigned long address, unsigned int pid, unsigned int tsize, unsigned int ind) { asm volatile ("tlbie %0; sync" : : "r" (address) : "memory"); + trace_tlbie(pid, 0, address, 0, 0, 0, 0); I did not really cover a whole lot of NOHASH, any idea why its called tlbil_va and not _tlbie_va? Seems it comes from https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=0ba3418b8b1c85ee1771c63f1dd12041614e56ff Kumar ? The first field is really the lpid and should be 0 for non-virtualized systems. Can I recommend that we rs field for pid and the rb field for address? so effectively something like Yes having the address in rb is expected since it is the name of the only field tlbie has in the 32bits instruction set. Yes I can use rb for the pid. Christophe
Re: [PATCH 1/2] powerpc/mm: Add missing tracepoint for tlbie
On Mon, 19 Mar 2018 11:32:38 +0100 (CET) Christophe Leroywrote: > commit 0428491cba927 ("powerpc/mm: Trace tlbie(l) instructions") > added tracepoints for tlbie calls, but _tlbil_va() was forgotten > > Fixes: 0428491cba927 ("powerpc/mm: Trace tlbie(l) instructions") > Signed-off-by: Christophe Leroy > --- > arch/powerpc/mm/mmu_decl.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h > index 57fbc554c785..b9991e0c61a2 100644 > --- a/arch/powerpc/mm/mmu_decl.h > +++ b/arch/powerpc/mm/mmu_decl.h > @@ -21,6 +21,7 @@ > #include > #include > #include > +#include > > #ifdef CONFIG_PPC_MMU_NOHASH > > @@ -56,6 +57,7 @@ static inline void _tlbil_va(unsigned long address, > unsigned int pid, >unsigned int tsize, unsigned int ind) > { > asm volatile ("tlbie %0; sync" : : "r" (address) : "memory"); > + trace_tlbie(pid, 0, address, 0, 0, 0, 0); I did not really cover a whole lot of NOHASH, any idea why its called tlbil_va and not _tlbie_va? The first field is really the lpid and should be 0 for non-virtualized systems. Can I recommend that we rs field for pid and the rb field for address? so effectively something like trace_tlbie(0, 0, address, pid, 0, 0, 0); Balbir
[PATCH 1/2] powerpc/mm: Add missing tracepoint for tlbie
commit 0428491cba927 ("powerpc/mm: Trace tlbie(l) instructions") added tracepoints for tlbie calls, but _tlbil_va() was forgotten Fixes: 0428491cba927 ("powerpc/mm: Trace tlbie(l) instructions") Signed-off-by: Christophe Leroy--- arch/powerpc/mm/mmu_decl.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index 57fbc554c785..b9991e0c61a2 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h @@ -21,6 +21,7 @@ #include #include #include +#include #ifdef CONFIG_PPC_MMU_NOHASH @@ -56,6 +57,7 @@ static inline void _tlbil_va(unsigned long address, unsigned int pid, unsigned int tsize, unsigned int ind) { asm volatile ("tlbie %0; sync" : : "r" (address) : "memory"); + trace_tlbie(pid, 0, address, 0, 0, 0, 0); } #elif defined(CONFIG_PPC_BOOK3E) extern void _tlbil_va(unsigned long address, unsigned int pid, -- 2.13.3