Adrian Hunter
55052ac61c
perf intel-pt: Fix duplicate branch after CBR
...
commit a58a057ce65b52125dd355b7d8b0d540ea267a5f upstream.
CBR events can result in a duplicate branch event, because the state
type defaults to a branch. Fix by clearing the state type.
Example: trace 'sleep' and hope for a frequency change
Before:
$ perf record -e intel_pt//u sleep 0.1
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.034 MB perf.data ]
$ perf script --itrace=bpe > before.txt
After:
$ perf script --itrace=bpe > after.txt
$ diff -u before.txt after.txt
# --- before.txt 2020-07-07 14:42:18.191508098 +0300
# +++ after.txt 2020-07-07 14:42:36.587891753 +0300
@@ -29673,7 +29673,6 @@
sleep 93431 [007] 15411.619905: 1 branches:u: 0 [unknown] ([unknown]) => 7f0818abb2e0 clock_nanosleep@@GLIBC_2.17+0x0 (/usr/lib/x86_64-linux-gnu/libc-2.31.so)
sleep 93431 [007] 15411.619905: 1 branches:u: 7f0818abb30c clock_nanosleep@@GLIBC_2.17+0x2c (/usr/lib/x86_64-linux-gnu/libc-2.31.so) => 0 [unknown] ([unknown])
sleep 93431 [007] 15411.720069: cbr: cbr: 15 freq: 1507 MHz ( 56%) 7f0818abb30c clock_nanosleep@@GLIBC_2.17+0x2c (/usr/lib/x86_64-linux-gnu/libc-2.31.so)
- sleep 93431 [007] 15411.720069: 1 branches:u: 7f0818abb30c clock_nanosleep@@GLIBC_2.17+0x2c (/usr/lib/x86_64-linux-gnu/libc-2.31.so) => 0 [unknown] ([unknown])
sleep 93431 [007] 15411.720076: 1 branches:u: 0 [unknown] ([unknown]) => 7f0818abb30e clock_nanosleep@@GLIBC_2.17+0x2e (/usr/lib/x86_64-linux-gnu/libc-2.31.so)
sleep 93431 [007] 15411.720077: 1 branches:u: 7f0818abb323 clock_nanosleep@@GLIBC_2.17+0x43 (/usr/lib/x86_64-linux-gnu/libc-2.31.so) => 7f0818ac0eb7 __nanosleep+0x17 (/usr/lib/x86_64-linux-gnu/libc-2.31.so)
sleep 93431 [007] 15411.720077: 1 branches:u: 7f0818ac0ebf __nanosleep+0x1f (/usr/lib/x86_64-linux-gnu/libc-2.31.so) => 55cb7e4c2827 rpl_nanosleep+0x97 (/usr/bin/sleep)
Fixes: 91de8684f1cff ("perf intel-pt: Cater for CBR change in PSB+")
Fixes: abe5a1d3e4bee ("perf intel-pt: Decoder to output CBR changes immediately")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org
Link: http://lore.kernel.org/lkml/20200710151104.15137-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 13:05:29 +02:00
..
2019-08-28 18:14:57 -03:00
2019-09-20 09:19:20 -03:00
2019-06-25 18:31:12 -03:00
2020-08-21 13:05:29 +02:00
2019-09-20 09:19:20 -03:00
2019-11-05 08:39:26 -03:00
2019-10-15 12:00:01 -03:00
2019-09-30 17:30:06 -03:00
2019-03-11 11:56:02 -03:00
2019-09-20 09:19:21 -03:00
2019-09-25 09:51:48 -03:00
2019-09-25 09:51:44 -03:00
2019-01-25 15:12:09 +01:00
2019-01-25 15:12:09 +01:00
2019-02-19 16:11:56 -03:00
2019-02-19 16:11:56 -03:00
2019-09-20 09:19:22 -03:00
2019-09-20 09:19:22 -03:00
2019-09-25 09:51:48 -03:00
2019-07-29 18:34:42 -03:00
2019-08-31 19:10:19 -03:00
2019-09-20 09:19:20 -03:00
2019-09-20 09:19:20 -03:00
2019-09-25 16:26:34 -03:00
2019-09-25 09:51:49 -03:00
2019-07-29 18:34:42 -03:00
2019-08-29 17:38:32 -03:00
2019-08-26 11:58:29 -03:00
2019-07-09 10:13:27 -03:00
2019-06-05 17:36:37 +02:00
2019-09-20 09:19:22 -03:00
2019-09-20 09:19:21 -03:00
2019-08-14 10:48:39 -03:00
2019-08-14 10:59:59 -03:00
2019-08-31 22:24:10 -03:00
2019-07-29 18:34:42 -03:00
2019-09-20 09:19:20 -03:00
2019-08-31 22:24:10 -03:00
2019-08-31 22:24:10 -03:00
2019-01-25 15:12:08 +01:00
2019-07-09 10:13:26 -03:00
2019-01-25 15:12:09 +01:00
2019-05-15 16:36:49 -03:00
2019-08-31 22:24:10 -03:00
2018-05-16 16:11:09 -03:00
2019-10-15 12:05:18 -03:00
2019-09-25 09:51:49 -03:00
2019-07-29 18:34:42 -03:00
2019-08-22 17:16:56 -03:00
2019-02-06 10:00:39 -03:00
2019-08-29 17:38:32 -03:00
2019-08-29 08:36:12 -03:00
2019-08-22 17:16:57 -03:00
2019-08-31 19:10:40 -03:00
2019-12-31 16:44:51 +01:00
2019-08-31 22:24:10 -03:00
2019-09-20 15:58:11 -03:00
2019-09-20 09:19:20 -03:00
2019-03-19 11:56:20 -03:00
2019-08-31 22:24:10 -03:00
2019-07-29 18:34:42 -03:00
2019-09-20 09:19:20 -03:00
2019-09-20 09:19:20 -03:00
2019-09-20 09:19:20 -03:00
2019-09-20 09:19:20 -03:00
2020-06-22 09:31:27 +02:00
2020-06-22 09:31:27 +02:00
2019-08-31 22:24:10 -03:00
2019-08-31 22:24:10 -03:00
2018-12-28 16:33:02 -03:00
2018-12-28 16:33:02 -03:00
2019-12-31 16:45:41 +01:00
2019-12-31 16:45:41 +01:00
2019-09-20 09:19:20 -03:00
2020-08-05 09:59:52 +02:00
2019-09-20 09:19:21 -03:00
2019-09-20 10:28:21 -03:00
2019-09-20 09:19:22 -03:00
2019-08-31 22:24:10 -03:00
2019-10-15 11:51:33 -03:00
2019-09-25 16:26:40 -03:00
2019-09-25 16:26:40 -03:00
2019-09-25 16:26:34 -03:00
2019-09-25 16:26:34 -03:00
2020-07-16 08:16:38 +02:00
2019-09-25 16:26:40 -03:00
2019-08-15 12:26:13 -03:00
2019-08-15 12:25:55 -03:00
2019-08-31 19:10:19 -03:00
2019-01-08 13:28:13 -03:00
2019-08-29 17:38:32 -03:00
2019-08-29 17:38:32 -03:00
2019-09-25 16:26:41 -03:00
2019-08-26 11:58:29 -03:00
2019-07-09 10:13:26 -03:00
2020-01-12 12:21:25 +01:00
2019-09-20 10:28:21 -03:00
2019-07-09 10:13:26 -03:00
2019-11-05 08:49:14 -03:00
2020-01-23 08:22:39 +01:00
2019-09-25 09:51:47 -03:00
2019-06-05 17:36:37 +02:00
2020-07-16 08:16:39 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:37:04 +02:00
2019-01-25 15:12:10 +01:00
2019-09-30 17:29:49 -03:00
2019-06-19 17:09:51 +02:00
2019-09-20 10:28:26 -03:00
2019-09-30 17:29:35 -03:00
2019-08-29 17:38:32 -03:00
2019-09-20 09:19:20 -03:00
2020-01-26 10:01:02 +01:00
2019-09-20 09:19:22 -03:00
2019-08-16 12:25:57 -03:00
2019-02-06 10:00:38 -03:00
2020-04-02 15:11:02 +02:00
2019-07-29 18:34:42 -03:00
2019-08-31 19:10:40 -03:00
2019-08-31 19:10:40 -03:00
2019-08-31 22:27:48 -03:00
2019-08-31 22:27:48 -03:00
2019-09-20 09:19:22 -03:00
2020-01-12 12:21:25 +01:00
2019-08-31 22:27:52 -03:00
2019-09-25 09:51:49 -03:00
2019-09-25 09:51:46 -03:00
2019-09-20 10:28:21 -03:00
2019-09-20 10:28:21 -03:00
2019-08-31 19:10:19 -03:00
2018-12-17 15:02:17 -03:00
2019-08-31 19:10:19 -03:00
2019-12-31 16:45:01 +01:00
2019-08-14 10:59:59 -03:00
2019-08-14 10:59:59 -03:00
2019-09-25 16:26:41 -03:00
2019-07-09 10:13:22 -03:00
2019-05-15 16:36:49 -03:00
2019-08-31 22:24:10 -03:00
2019-08-31 22:24:10 -03:00
2019-09-25 16:26:34 -03:00
2019-05-16 14:17:12 -03:00
2020-01-04 19:18:27 +01:00
2019-09-20 09:19:20 -03:00
2019-05-28 18:37:44 -03:00
2019-09-20 09:19:21 -03:00
2019-08-31 22:27:51 -03:00
2019-06-25 21:02:47 -03:00
2020-06-22 09:31:27 +02:00
2019-05-25 23:04:42 -04:00
2020-04-01 11:01:59 +02:00
2019-05-25 23:04:42 -04:00
2020-06-22 09:31:27 +02:00
2019-06-25 21:02:47 -03:00
2019-08-31 19:10:19 -03:00
2019-09-25 16:26:34 -03:00
2019-09-30 17:29:57 -03:00
2019-01-25 15:12:10 +01:00
2019-06-05 17:37:04 +02:00
2019-01-25 15:12:10 +01:00
2019-09-25 09:51:48 -03:00
2019-08-26 11:58:22 -03:00
2019-07-09 14:59:11 -03:00
2019-07-09 14:59:11 -03:00
2019-09-20 09:19:20 -03:00
2019-01-21 17:00:48 -03:00
2018-08-08 15:26:48 -03:00
2019-09-20 09:19:21 -03:00
2018-08-03 10:34:18 -03:00
2019-09-20 09:19:20 -03:00
2019-07-29 18:34:42 -03:00
2019-07-29 18:34:42 -03:00
2019-12-31 16:45:40 +01:00
2019-09-20 09:19:22 -03:00
2019-07-09 10:13:26 -03:00
2019-08-14 10:48:39 -03:00
2019-06-10 16:20:11 -03:00
2019-09-25 09:51:48 -03:00
2019-08-31 22:24:10 -03:00
2019-09-25 09:51:48 -03:00
2019-02-06 10:00:38 -03:00
2020-06-03 08:21:39 +02:00
2019-01-25 15:12:09 +01:00
2020-06-24 17:50:45 +02:00
2020-02-19 19:53:08 +01:00
2020-07-22 09:33:05 +02:00
2019-09-20 10:28:26 -03:00
2019-08-31 19:10:19 -03:00
2019-07-09 10:13:26 -03:00
2019-07-01 22:50:40 -03:00
2019-07-01 22:50:40 -03:00
2019-07-09 10:13:26 -03:00
2019-01-25 15:12:10 +01:00
2019-09-20 09:19:21 -03:00
2019-08-29 17:38:31 -03:00
2019-07-02 13:20:51 -03:00
2019-08-31 22:24:05 -03:00
2019-09-25 09:51:49 -03:00
2019-09-20 09:19:20 -03:00
2020-06-22 09:31:27 +02:00
2019-08-31 22:27:48 -03:00
2019-08-31 22:24:05 -03:00
2019-09-25 09:51:48 -03:00
2019-09-20 09:19:22 -03:00
2019-07-29 18:34:42 -03:00
2019-07-29 18:34:42 -03:00
2019-09-20 09:19:20 -03:00
2019-08-29 08:36:12 -03:00
2019-08-29 08:36:12 -03:00
2019-08-31 19:10:19 -03:00
2019-06-17 20:48:14 +02:00
2019-08-31 22:24:10 -03:00
2019-08-26 19:39:11 -03:00
2020-01-23 08:23:01 +01:00
2020-01-23 08:23:01 +01:00
2019-08-26 19:39:11 -03:00
2019-09-25 09:51:48 -03:00
2019-08-31 22:24:10 -03:00
2019-09-25 09:51:48 -03:00
2019-11-05 08:39:27 -03:00
2019-09-20 09:19:20 -03:00
2019-08-29 17:38:32 -03:00
2019-09-20 09:19:20 -03:00
2019-11-05 08:39:27 -03:00
2019-08-29 17:38:32 -03:00
2019-09-20 09:19:22 -03:00
2019-09-20 09:19:20 -03:00
2019-09-20 09:19:20 -03:00
2019-08-31 22:24:10 -03:00
2019-08-16 12:25:57 -03:00
2019-09-20 09:19:20 -03:00
2019-10-15 11:54:11 -03:00
2019-09-25 09:51:49 -03:00
2019-08-31 19:10:19 -03:00
2019-09-20 09:19:20 -03:00
2019-07-09 10:13:26 -03:00
2019-09-20 09:19:20 -03:00
2019-07-23 09:04:03 -03:00