On 10/16/13 1:59 PM, Waiman Long wrote:This patch adds a new --max-stack option to perf-report to limit the
depth of callchain stack data to look at to reduce the time it takes
for perf-report to finish its processing. It trades the presence of
trailing stack information with faster speed.
I like the patch. I have a similar option in my perf-sched-timehist command, and I have a patch somewhere for perf-script.
It would be even better to pass this arg kernel side and limit the stack depth at data collection time.
---8<---
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 72eae74..d90d04a 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -37,6 +37,12 @@
#include <linux/bitmap.h>
+/*
+ * 2-level stringification macro to enable stringification of macro value
+ * */
+#define __to_string(x) #x
+#define STRINGIFY(x) __to_string(x)
These 2 lines should be somewhere else -- like util/util.h
---8<---
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 2122141..2725aca 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -771,7 +771,8 @@ static void perf_event__process_sample(struct perf_tool *tool,
sample->callchain) {
err = machine__resolve_callchain(machine, evsel,
al.thread, sample,
- &parent, &al);
+ &parent, &al,
+ PERF_MAX_STACK_DEPTH);
if (err)
return;
}
Why not add the option to perf-top as well? copy-paste.