On Fri, May 06, 2022 at 10:29:25PM +0300, Vasily Averin wrote: > Added call_site, bytes_alloc and gfp_flags fields to the output > of the percpu_alloc_percpu ftrace event: > > mkdir-4393 [001] 169.334788: percpu_alloc_percpu: > call_site=mem_cgroup_css_alloc+0xa6 reserved=0 is_atomic=0 size=2408 align=8 > base_addr=0xffffc7117fc00000 off=402176 ptr=0x3dc867a62300 bytes_alloc=14448 > gfp_flags=GFP_KERNEL_ACCOUNT > > This is required to track memcg-accounted percpu allocations. > > Signed-off-by: Vasily Averin <vvs@xxxxxxxxxx> Acked-by: Roman Gushchin <roman.gushchin@xxxxxxxxx> LGTM, thanks Vasily! One minor thing below. > --- > v2: added call_site, improved patch description > --- > include/trace/events/percpu.h | 23 +++++++++++++++++------ > mm/percpu-internal.h | 8 ++++---- > mm/percpu.c | 5 +++-- > 3 files changed, 24 insertions(+), 12 deletions(-) > > diff --git a/include/trace/events/percpu.h b/include/trace/events/percpu.h > index df112a64f6c9..e989cefc0def 100644 > --- a/include/trace/events/percpu.h > +++ b/include/trace/events/percpu.h > @@ -6,15 +6,20 @@ > #define _TRACE_PERCPU_H > > #include <linux/tracepoint.h> > +#include <trace/events/mmflags.h> > > TRACE_EVENT(percpu_alloc_percpu, > > - TP_PROTO(bool reserved, bool is_atomic, size_t size, > - size_t align, void *base_addr, int off, void __percpu *ptr), > + TP_PROTO(unsigned long call_site, > + bool reserved, bool is_atomic, size_t size, > + size_t align, void *base_addr, int off, > + void __percpu *ptr, size_t bytes_alloc, gfp_t gfp_flags), Don't we want to preserve the order and add the call_site at the end? Trace events are not ABI, but if we don't have a strong reason to break it, I'd preserve the old order. Thanks!