lkml.org 
[lkml]   [2016]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] mm: page_alloc.c: Add tracepoints for slowpath
On Wed, 27 Jul 2016 10:20:28 -0700
Dave Hansen <dave.hansen@intel.com> wrote:

> 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.

Well, then you are also advocating in a userspace ABI interface that
will have to be maintained forever. Just be warned.

>
> 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?

Yes, if DYNAMIC_FTRACE is defined. Which it should be, because static
ftrace has a huge overhead without enabling the tracer.

It will enable only that function to be traced. I've recommend before
that if one wants to have a good idea of how long a function lasts,
they should filter to a single function. Anything else will include
overhead of the tracer itself.

-- Steve

\
 
 \ /
  Last update: 2016-07-27 20:21    [W:0.346 / U:0.312 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site