Arnaldo Carvalho de Melo
fabd37b837
perf hists: Check if a hist_entry has callchains before using them
...
So far if we use 'perf record -g' this will make
symbol_conf.use_callchain 'true' and logic will assume that all events
have callchains enabled, but ever since we added the possibility of
setting up callchains for some events (e.g.: -e
cycles/call-graph=dwarf/) while not for others, we limit usage scenarios
by looking at that symbol_conf.use_callchain global boolean, we better
look at each event attributes.
On the road to that we need to look if a hist_entry has callchains, that
is, to go from hist_entry->hists to the evsel that contains it, to then
look at evsel->sample_type for PERF_SAMPLE_CALLCHAIN.
The next step is to add a symbol_conf.ignore_callchains global, to use
in the places where what we really want to know is if callchains should
be ignored, even if present.
Then -g will mean just to select a callchain mode to be applied to all
events not explicitely setting some other callchain mode, i.e. a default
callchain mode, and --no-call-graph will set
symbol_conf.ignore_callchains with that clear intention.
That too will at some point become a per evsel thing, that tools can set
for all or just a few of its evsels.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-0sas5cm4dsw2obn75g7ruz69@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2018-06-06 12:52:03 -03:00
..
2018-04-09 11:13:09 -03:00
2018-05-30 15:38:40 -03:00
2017-11-02 11:10:55 +01:00
2018-06-01 16:13:18 -03:00
2017-11-02 11:10:55 +01:00
2018-05-30 15:39:31 -03:00
2018-06-04 10:28:53 -03:00
2018-06-04 10:28:53 -03:00
2018-01-17 10:23:31 -03:00
2018-01-17 10:23:31 -03:00
2018-01-17 10:23:31 -03:00
2018-01-17 10:23:31 -03:00
2018-04-26 13:47:14 -03:00
2018-03-07 10:22:26 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-30 15:35:31 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-07-18 23:14:40 -03:00
2017-07-25 22:46:35 -03:00
2018-06-04 10:28:50 -03:00
2018-04-26 13:47:08 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-05-06 13:00:43 -03:00
2016-05-06 13:00:43 -03:00
2018-01-17 10:23:32 -03:00
2018-01-17 10:23:32 -03:00
2018-06-04 10:28:50 -03:00
2018-03-07 10:22:26 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-07 10:30:18 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-16 16:11:09 -03:00
2018-05-16 16:11:09 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-15 10:30:17 -03:00
2018-04-19 12:29:41 -03:00
2017-11-02 11:10:55 +01:00
2017-10-30 13:37:37 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-23 09:48:20 -03:00
2017-11-07 10:30:18 +01:00
2018-04-27 10:47:06 -03:00
2016-05-06 13:00:53 -03:00
2018-03-16 16:39:02 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-04-19 13:01:51 -03:00
2016-09-22 12:19:41 -03:00
2018-04-27 10:47:06 -03:00
2018-04-27 10:47:06 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-02 13:50:24 -03:00
2016-09-29 11:17:08 -03:00
2017-11-02 11:10:55 +01:00
2018-05-22 10:52:49 -03:00
2018-05-22 10:52:49 -03:00
2018-05-23 10:26:39 -03:00
2018-05-23 10:26:39 -03:00
2018-05-21 14:40:54 -03:00
2018-05-21 14:40:54 -03:00
2017-11-07 10:30:18 +01:00
2018-06-05 10:09:54 -03:00
2018-06-05 10:09:54 -03:00
2017-11-02 11:10:55 +01:00
2017-08-22 12:19:08 -03:00
2017-11-02 11:10:55 +01:00
2017-06-19 15:27:07 -03:00
2018-04-30 12:02:03 -03:00
2017-11-02 11:10:55 +01:00
2018-04-12 10:33:31 -03:00
2017-11-02 11:10:55 +01:00
2018-06-04 10:28:52 -03:00
2018-03-08 11:30:46 -03:00
2017-11-02 11:10:55 +01:00
2015-12-14 12:30:37 -03:00
2018-06-06 12:52:03 -03:00
2018-06-06 12:52:03 -03:00
2018-04-26 13:47:08 -03:00
2018-04-26 13:47:13 -03:00
2016-09-29 11:17:05 -03:00
2017-11-02 11:10:55 +01:00
2017-11-07 10:30:18 +01:00
2017-11-07 10:30:18 +01:00
2016-10-24 11:07:39 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-15 14:31:17 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-23 10:26:39 -03:00
2018-05-23 10:24:08 -03:00
2018-06-04 10:28:52 -03:00
2018-06-04 10:28:52 -03:00
2018-03-16 13:52:37 -03:00
2018-03-16 13:52:37 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-27 12:15:49 -03:00
2017-09-13 09:49:13 -03:00
2018-03-27 13:13:38 -03:00
2018-03-08 10:05:53 -03:00
2017-09-13 09:49:16 -03:00
2017-10-23 16:30:54 -03:00
2017-11-17 12:14:09 -03:00
2017-11-17 12:14:09 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-30 10:40:44 -03:00
2018-05-30 10:40:44 -03:00
2018-03-08 10:05:25 -03:00
2018-05-30 10:40:44 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-27 12:15:48 -03:00
2017-12-27 12:15:48 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-11-29 12:13:27 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-24 16:02:29 -03:00
2017-12-05 10:24:33 -03:00
2017-11-07 10:30:18 +01:00
2017-11-07 10:30:18 +01:00
2018-06-04 10:28:50 -03:00
2017-11-02 11:10:55 +01:00
2018-05-16 16:27:14 -03:00
2017-11-02 11:10:55 +01:00
2018-03-19 13:51:53 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-27 12:15:56 -03:00
2018-03-23 16:45:20 -03:00
2017-11-07 10:30:18 +01:00
2017-12-05 10:24:31 -03:00
2017-12-05 10:24:31 -03:00
2018-03-05 11:52:41 -03:00
2017-09-21 13:28:06 -03:00
2017-09-21 13:28:06 -03:00
2017-11-02 11:10:55 +01:00
2018-06-05 10:09:54 -03:00
2017-11-18 08:59:27 +01:00
2017-07-18 23:14:08 -03:00
2018-03-19 13:39:46 -03:00
2017-08-22 12:09:04 -03:00
2017-08-22 12:09:04 -03:00
2018-06-04 10:28:53 -03:00
2018-06-06 12:52:03 -03:00
2018-04-26 13:47:18 -03:00
2018-01-08 11:11:57 -03:00
2017-12-27 12:15:44 -03:00
2018-03-16 13:56:17 -03:00
2018-04-26 09:30:27 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-27 12:15:55 -03:00
2017-12-27 12:15:55 -03:00
2017-04-24 13:43:33 -03:00
2017-11-02 11:10:55 +01:00
2016-08-23 15:37:33 -03:00
2017-11-02 11:10:55 +01:00
2018-04-27 10:47:06 -03:00
2018-05-23 10:26:44 -03:00
2018-04-27 10:47:06 -03:00
2018-06-04 10:28:53 -03:00
2018-06-04 10:28:53 -03:00
2018-04-12 10:33:31 -03:00
2017-11-02 11:10:55 +01:00
2016-07-29 11:54:35 -03:00
2017-12-27 12:15:47 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-02-27 11:29:21 -03:00
2018-02-27 11:29:21 -03:00
2017-04-19 13:01:51 -03:00
2016-06-23 17:04:26 -03:00
2018-04-27 10:47:06 -03:00
2018-04-26 13:47:17 -03:00
2018-01-17 10:23:36 -03:00
2018-01-17 10:23:36 -03:00
2018-01-10 12:00:55 -03:00
2018-06-04 10:28:52 -03:00
2018-05-17 12:01:50 -03:00
2017-06-27 11:08:14 -03:00
2017-09-21 13:28:06 -03:00
2018-04-12 10:33:29 -03:00
2018-05-17 14:49:36 -03:00
2017-11-02 11:10:55 +01:00
2018-03-06 11:31:14 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-26 13:47:17 -03:00
2017-11-02 11:10:55 +01:00
2018-04-26 13:47:17 -03:00
2017-12-27 12:15:52 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-17 16:31:32 -03:00
2018-05-17 16:31:32 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-26 13:47:15 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-07 10:30:18 +01:00