[PATCH v4 08/13] powerpc/mm/trace: Convert trace event to trace event class

Christophe Leroy christophe.leroy at csgroup.eu
Tue Jul 11 03:32:07 AEST 2023



Le 10/07/2023 à 18:08, Aneesh Kumar K.V a écrit :
> A follow-up patch will add a pud variant for this same event.
> Using event class makes that addition simpler.
> 
> No functional change in this patch.
> 
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>

Reviewed-by: Christophe Leroy <christophe.leroy at csgroup.eu>

> ---
>   arch/powerpc/mm/book3s64/hash_pgtable.c  |  2 +-
>   arch/powerpc/mm/book3s64/radix_pgtable.c |  2 +-
>   include/trace/events/thp.h               | 23 ++++++++++++++++-------
>   3 files changed, 18 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/powerpc/mm/book3s64/hash_pgtable.c b/arch/powerpc/mm/book3s64/hash_pgtable.c
> index 51f48984abca..988948d69bc1 100644
> --- a/arch/powerpc/mm/book3s64/hash_pgtable.c
> +++ b/arch/powerpc/mm/book3s64/hash_pgtable.c
> @@ -214,7 +214,7 @@ unsigned long hash__pmd_hugepage_update(struct mm_struct *mm, unsigned long addr
>   
>   	old = be64_to_cpu(old_be);
>   
> -	trace_hugepage_update(addr, old, clr, set);
> +	trace_hugepage_update_pmd(addr, old, clr, set);
>   	if (old & H_PAGE_HASHPTE)
>   		hpte_do_hugepage_flush(mm, addr, pmdp, old);
>   	return old;
> diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c
> index e7ea492ac510..02e185d2e4d6 100644
> --- a/arch/powerpc/mm/book3s64/radix_pgtable.c
> +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
> @@ -962,7 +962,7 @@ unsigned long radix__pmd_hugepage_update(struct mm_struct *mm, unsigned long add
>   #endif
>   
>   	old = radix__pte_update(mm, addr, pmdp_ptep(pmdp), clr, set, 1);
> -	trace_hugepage_update(addr, old, clr, set);
> +	trace_hugepage_update_pmd(addr, old, clr, set);
>   
>   	return old;
>   }
> diff --git a/include/trace/events/thp.h b/include/trace/events/thp.h
> index 202b3e3e67ff..a95c78b10561 100644
> --- a/include/trace/events/thp.h
> +++ b/include/trace/events/thp.h
> @@ -8,25 +8,29 @@
>   #include <linux/types.h>
>   #include <linux/tracepoint.h>
>   
> -TRACE_EVENT(hugepage_set_pmd,
> +DECLARE_EVENT_CLASS(hugepage_set,
>   
> -	    TP_PROTO(unsigned long addr, unsigned long pmd),
> -	    TP_ARGS(addr, pmd),
> +	    TP_PROTO(unsigned long addr, unsigned long pte),
> +	    TP_ARGS(addr, pte),
>   	    TP_STRUCT__entry(
>   		    __field(unsigned long, addr)
> -		    __field(unsigned long, pmd)
> +		    __field(unsigned long, pte)
>   		    ),
>   
>   	    TP_fast_assign(
>   		    __entry->addr = addr;
> -		    __entry->pmd = pmd;
> +		    __entry->pte = pte;
>   		    ),
>   
> -	    TP_printk("Set pmd with 0x%lx with 0x%lx", __entry->addr, __entry->pmd)
> +	    TP_printk("Set page table entry with 0x%lx with 0x%lx", __entry->addr, __entry->pte)
>   );
>   
> +DEFINE_EVENT(hugepage_set, hugepage_set_pmd,
> +	    TP_PROTO(unsigned long addr, unsigned long pmd),
> +	    TP_ARGS(addr, pmd)
> +);
>   
> -TRACE_EVENT(hugepage_update,
> +DECLARE_EVENT_CLASS(hugepage_update,
>   
>   	    TP_PROTO(unsigned long addr, unsigned long pte, unsigned long clr, unsigned long set),
>   	    TP_ARGS(addr, pte, clr, set),
> @@ -48,6 +52,11 @@ TRACE_EVENT(hugepage_update,
>   	    TP_printk("hugepage update at addr 0x%lx and pte = 0x%lx clr = 0x%lx, set = 0x%lx", __entry->addr, __entry->pte, __entry->clr, __entry->set)
>   );
>   
> +DEFINE_EVENT(hugepage_update, hugepage_update_pmd,
> +	    TP_PROTO(unsigned long addr, unsigned long pmd, unsigned long clr, unsigned long set),
> +	    TP_ARGS(addr, pmd, clr, set)
> +);
> +
>   DECLARE_EVENT_CLASS(migration_pmd,
>   
>   		TP_PROTO(unsigned long addr, unsigned long pmd),


More information about the Linuxppc-dev mailing list