path: root/tools/perf/util/thread-stack.c
diff options
authorChris Phlipot <>2016-04-28 01:19:10 -0700
committerArnaldo Carvalho de Melo <>2016-05-06 13:00:54 -0300
commit2c15f5eb04e9e7e19a2c8be6b50c63a4c6062a44 (patch)
treeced09e79a64751dc2e92629b4974f928bff16ec8 /tools/perf/util/thread-stack.c
parent568850eaad8cdd3783c3347623dfcad4f043cf1c (diff)
perf script: Expose usage of the callchain db export via the python api
This change allows python scripts to be able to utilize the recent changes to the db export api allowing the export of call_paths derived from sampled callchains. These call paths are also now associated with the samples from which they were derived. - This feature is enabled by setting "perf_db_export_callchains" to true - When enabled, samples that have callchain information will have the callchains exported via call_path_table - The call_path_id field is added to sample_table to enable association of samples with the corresponding callchain stored in the call paths table. A call_path_id of 0 will be exported if there is no corresponding callchain. - When "perf_db_export_callchains" and "perf_db_export_calls" are both set to True, the call path root data structure will be shared. This prevents duplicating of data and call path ids that would result from building two separate call path trees in memory. - The call_return_processor structure definition was relocated to the header file to make its contents visible to db-export.c. This enables the sharing of call path trees between the two features, as mentioned above. This change is visible to python scripts using the python db export api. The change is backwards compatible with scripts written against the previous API, assuming that the scripts model the sample_table function after the one in script by allowing for additional arguments to be added in the future. ie. using *x as the final argument of the sample_table function. Signed-off-by: Chris Phlipot <> Acked-by: Adrian Hunter <> Cc: Jiri Olsa <> Cc: Peter Zijlstra <> Link: Signed-off-by: Arnaldo Carvalho de Melo <>
Diffstat (limited to 'tools/perf/util/thread-stack.c')
1 files changed, 0 insertions, 13 deletions
diff --git a/tools/perf/util/thread-stack.c b/tools/perf/util/thread-stack.c
index fc419a59c88b..825086aa9a08 100644
--- a/tools/perf/util/thread-stack.c
+++ b/tools/perf/util/thread-stack.c
@@ -25,19 +25,6 @@
#include "call-path.h"
#include "thread-stack.h"
- * struct call_return_processor - provides a call-back to consume call-return
- * information.
- * @cpr: call path root
- * @process: call-back that accepts call/return information
- * @data: anonymous data for call-back
- */
-struct call_return_processor {
- struct call_path_root *cpr;
- int (*process)(struct call_return *cr, void *data);
- void *data;
#define STACK_GROWTH 2048