Arnaldo Carvalho de Melo
78c9fad3fd
perf tools: Fix DSO filtering when not finding a map for a sampled address
[ Upstream commit c69bf11ad3d30b6bf01cfa538ddff1a59467c734 ]
When we lookup an address and don't find a map we should filter that
sample if the user specified a list of --dso entries to filter on, fix
it.
Before:
$ perf script
sleep 274800 2843.556162: 1 cycles:u: ffffffffbb26bff4 [unknown] ([unknown])
sleep 274800 2843.556168: 1 cycles:u: ffffffffbb2b047d [unknown] ([unknown])
sleep 274800 2843.556171: 1 cycles:u: ffffffffbb2706b2 [unknown] ([unknown])
sleep 274800 2843.556174: 6 cycles:u: ffffffffbb2b0267 [unknown] ([unknown])
sleep 274800 2843.556176: 59 cycles:u: ffffffffbb2b03b1 [unknown] ([unknown])
sleep 274800 2843.556180: 691 cycles:u: ffffffffbb26bff4 [unknown] ([unknown])
sleep 274800 2843.556189: 9160 cycles:u: 7fa9550eeaa3 __GI___tunables_init+0xf3 (/usr/lib64/ld-2.32.so)
sleep 274800 2843.556312: 86937 cycles:u: 7fa9550e157b _dl_lookup_symbol_x+0x4b (/usr/lib64/ld-2.32.so)
$
So we have some samples we somehow didn't find in a map for, if we now
do:
$ perf report --stdio --dso /usr/lib64/ld-2.32.so
# dso: /usr/lib64/ld-2.32.so
#
# Total Lost Samples: 0
#
# Samples: 8 of event 'cycles:u'
# Event count (approx.): 96856
#
# Overhead Command Symbol
# ........ ....... ........................
#
89.76% sleep [.] _dl_lookup_symbol_x
9.46% sleep [.] __GI___tunables_init
0.71% sleep [k] 0xffffffffbb26bff4
0.06% sleep [k] 0xffffffffbb2b03b1
0.01% sleep [k] 0xffffffffbb2b0267
0.00% sleep [k] 0xffffffffbb2706b2
0.00% sleep [k] 0xffffffffbb2b047d
$
After this patch we get the right output with just entries for the DSOs
specified in --dso:
$ perf report --stdio --dso /usr/lib64/ld-2.32.so
# dso: /usr/lib64/ld-2.32.so
#
# Total Lost Samples: 0
#
# Samples: 8 of event 'cycles:u'
# Event count (approx.): 96856
#
# Overhead Command Symbol
# ........ ....... ........................
#
89.76% sleep [.] _dl_lookup_symbol_x
9.46% sleep [.] __GI___tunables_init
$
#
Fixes: 96415e4d3f ("perf symbols: Avoid unnecessary symbol loading when dso list is specified")
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20210128131209.GD775562@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-03 18:22:47 +01:00
..
2018-08-24 13:09:07 +02:00
2017-11-02 11:10:55 +01:00
2020-08-21 09:48:20 +02:00
2017-11-02 11:10:55 +01:00
2018-08-24 13:09:16 +02:00
2019-07-31 07:28:54 +02:00
2017-11-02 11:10:55 +01:00
2019-03-23 14:35:29 +01:00
2019-03-23 14:35:29 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-07-08 15:30:52 +02: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
2017-08-22 12:09:04 -03:00
2019-04-20 09:15:02 +02: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-04-26 11:02:06 +02:00
2018-04-26 11:02:06 +02:00
2018-10-18 09:16:28 +02: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
2018-09-26 08:38:01 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-04-20 09:15:02 +02: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
2020-10-01 13:12:39 +02:00
2017-11-02 11:10:55 +01:00
2016-09-22 12:19:40 -03:00
2017-11-02 11:10:55 +01:00
2019-06-22 08:16:17 +02: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
2016-05-30 12:41:43 -03:00
2016-05-06 13:00: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-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
2020-06-20 10:25:21 +02:00
2020-06-20 10:25:21 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-12-02 08:34:44 +01:00
2019-12-31 12:38:08 +01:00
2017-11-02 11:10:55 +01:00
2018-11-27 16:10:50 +01:00
2018-11-27 16:10:50 +01:00
2021-03-03 18:22:47 +01:00
2017-11-02 11:10:55 +01:00
2017-08-22 11:51:31 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-07-31 07:28:26 +02:00
2018-02-25 11:07:54 +01: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
2016-10-24 11:07:40 -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
2019-10-11 18:18:46 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-11-12 19:18:03 +01:00
2020-01-23 08:20:32 +01:00
2017-06-19 15:27:09 -03:00
2020-10-29 09:07:09 +01:00
2016-09-29 11:17:05 -03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-10-17 13:43:41 -07: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
2019-10-17 13:43:41 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-08-16 10:13:49 +02:00
2019-08-16 10:13:49 +02:00
2020-04-02 16:34:38 +02: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
2018-12-17 09:28:49 +01:00
2018-12-17 09:28:49 +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
2019-12-31 12:37:31 +01:00
2018-02-25 11:07:54 +01:00
2017-11-09 10:10:58 -03:00
2018-08-24 13:08:55 +02:00
2020-12-29 13:47:03 +01:00
2017-11-02 11:10:55 +01:00
2018-10-13 09:27:29 +02:00
2018-10-13 09:27:29 +02:00
2017-11-02 11:10:55 +01:00
2020-01-04 13:59:53 +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
2020-09-23 10:46:35 +02:00
2020-09-23 10:46:35 +02:00
2020-11-05 11:07:03 +01:00
2017-11-02 11:10:55 +01:00
2020-06-20 10:25:21 +02:00
2017-11-02 11:10:55 +01:00
2019-02-12 19:46:05 +01:00
2017-11-02 11:10:55 +01:00
2020-08-26 10:29:53 +02: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:11 -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
2018-05-30 12:19:59 +02:00
2017-11-02 11:10:55 +01:00
2020-11-18 18:27:53 +01:00
2017-11-02 11:10:55 +01:00
2017-07-18 23:14:08 -03:00
2018-11-04 14:52:46 +01:00
2017-08-22 12:09:04 -03:00
2017-08-22 12:09:04 -03:00
2020-10-01 13:12:46 +02: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
2019-07-31 07:28:32 +02:00
2020-07-22 09:22:25 +02:00
2019-10-11 18:18:47 +02:00
2020-01-04 14:00:01 +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-11-02 11:10:55 +01:00
2017-04-24 13:43:33 -03:00
2017-11-02 11:10:55 +01:00
2019-01-26 09:37:04 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-10-01 13:12:46 +02:00
2017-11-02 11:10:55 +01:00
2020-06-20 10:25:21 +02:00
2019-08-16 10:13:48 +02:00
2017-09-25 12:21:05 -03:00
2017-11-02 11:10:55 +01:00
2016-07-29 11:54:35 -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-06-23 17:04:26 -03:00
2019-08-16 10:13:48 +02: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
2018-11-13 11:14:53 -08:00
2017-06-27 11:08:14 -03:00
2018-11-13 11:14:52 -08:00
2016-10-28 11:29:44 -02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-15 10:54:34 +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
2019-01-31 08:13:46 +01:00
2017-11-02 11:10:55 +01:00
2018-04-26 11:02:06 +02: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-12 12:32:21 +02: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-11-02 11:10:55 +01:00
2019-10-05 12:47:54 +02:00
2017-11-02 11:10:55 +01:00