perf tools: Add a thread stack for synthesizing call chains
Add a thread stack for synthesizing call chains from call and return events. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Jiri 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-2-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
05b2537e8d
commit
00447ccdf3
6 changed files with 238 additions and 0 deletions
|
@ -143,6 +143,32 @@ struct branch_stack {
|
|||
struct branch_entry entries[0];
|
||||
};
|
||||
|
||||
enum {
|
||||
PERF_IP_FLAG_BRANCH = 1ULL << 0,
|
||||
PERF_IP_FLAG_CALL = 1ULL << 1,
|
||||
PERF_IP_FLAG_RETURN = 1ULL << 2,
|
||||
PERF_IP_FLAG_CONDITIONAL = 1ULL << 3,
|
||||
PERF_IP_FLAG_SYSCALLRET = 1ULL << 4,
|
||||
PERF_IP_FLAG_ASYNC = 1ULL << 5,
|
||||
PERF_IP_FLAG_INTERRUPT = 1ULL << 6,
|
||||
PERF_IP_FLAG_TX_ABORT = 1ULL << 7,
|
||||
PERF_IP_FLAG_TRACE_BEGIN = 1ULL << 8,
|
||||
PERF_IP_FLAG_TRACE_END = 1ULL << 9,
|
||||
PERF_IP_FLAG_IN_TX = 1ULL << 10,
|
||||
};
|
||||
|
||||
#define PERF_BRANCH_MASK (\
|
||||
PERF_IP_FLAG_BRANCH |\
|
||||
PERF_IP_FLAG_CALL |\
|
||||
PERF_IP_FLAG_RETURN |\
|
||||
PERF_IP_FLAG_CONDITIONAL |\
|
||||
PERF_IP_FLAG_SYSCALLRET |\
|
||||
PERF_IP_FLAG_ASYNC |\
|
||||
PERF_IP_FLAG_INTERRUPT |\
|
||||
PERF_IP_FLAG_TX_ABORT |\
|
||||
PERF_IP_FLAG_TRACE_BEGIN |\
|
||||
PERF_IP_FLAG_TRACE_END)
|
||||
|
||||
struct perf_sample {
|
||||
u64 ip;
|
||||
u32 pid, tid;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue