• Adrian Hunter's avatar
    perf tools: Enhance the thread stack to output call/return data · 92a9e4f7
    Adrian Hunter authored
    Enhance the thread stack to output detailed information about paired
    calls and returns.
    
    The enhanced processing consumes sample information via
    thread_stack__process() and outputs information about paired calls /
    returns via a call-back.
    
    While the call-back makes it possible for the facility to be used by
    arbitrary tools, a subsequent patch will provide the information to
    Python scripting via the db-export interface.
    
    An important part of the call/return information is the
    call path which provides a structure that defines a context
    sensitive call graph.
    
    Note that there are now two ways to use the thread stack.
    
    For simply providing a call stack (like you would get from the perf
    record -g option) the interface consists of thread_stack__event() and
    thread_stack__sample().
    
    Whereas the enhanced interface consists of call_return_processor__new()
    and thread_stack__process().
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/r/1414678188-14946-5-git-send-email-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    92a9e4f7
thread-stack.c 17 KB