Re: [PATCH 1/2] mm: page_alloc.c: Add tracepoints for slowpath

From: Dave Hansen
Date: Wed Jul 27 2016 - 13:20:35 EST

On 07/27/2016 08:23 AM, Steven Rostedt wrote:
>> > +
>> > + trace_mm_slowpath_end(page);
>> > +
> I'm thinking you only need one tracepoint, and use function_graph
> tracer for the length of the function call.
> # cd /sys/kernel/debug/tracing
> # echo __alloc_pages_nodemask > set_ftrace_filter
> # echo function_graph > current_tracer
> # echo 1 > events/kmem/trace_mm_slowpath/enable

I hesitate to endorse using the function_graph tracer for this kind of
stuff. Tracepoints offer some level of stability in naming, and the
compiler won't ever make them go away. While __alloc_pages_nodemask is
probably more stable than most things, there's no guarantee that it will
be there.

BTW, what's the overhead of the function graph tracer if the filter is
set up to be really restrictive like above? Is the overhead really just
limited to that one function?