Adrian Hunter
9fbe8ea8df
perf script: Fix hex dump character output
...
commit 62942e9fda9fd1def10ffcbd5e1c025b3c9eec17 upstream.
Using grep -C with perf script -D can give erroneous results as grep loses
lines due to non-printable characters, for example, below the 0020, 0060
and 0070 lines are missing:
$ perf script -D | grep -C10 AUX | head
. 0010: 08 00 00 00 00 00 00 00 1f 00 00 00 00 00 00 00 ................
. 0030: 01 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 ................
. 0040: 00 08 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ................
. 0050: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
. 0080: 02 00 00 00 00 00 00 00 1b 00 00 00 00 00 00 00 ................
. 0090: 00 00 00 00 00 00 00 00 ........
0 0 0x450 [0x98]: PERF_RECORD_AUXTRACE_INFO type: 1
PMU Type 8
Time Shift 31
perf's isprint() is a custom implementation from the kernel, but the
kernel's _ctype appears to include characters from Latin-1 Supplement which
is not compatible with, for example, UTF-8. Fix by checking also isascii().
After:
$ tools/perf/perf script -D | grep -C10 AUX | head
. 0010: 08 00 00 00 00 00 00 00 1f 00 00 00 00 00 00 00 ................
. 0020: 03 84 32 2f 00 00 00 00 63 7c 4f d2 fa ff ff ff ..2/....c|O.....
. 0030: 01 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 ................
. 0040: 00 08 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ................
. 0050: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
. 0060: 00 02 00 00 00 00 00 00 00 c0 03 00 00 00 00 00 ................
. 0070: e2 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ................
. 0080: 02 00 00 00 00 00 00 00 1b 00 00 00 00 00 00 00 ................
. 0090: 00 00 00 00 00 00 00 00 ........
Fixes: 3052ba56bcb58904 ("tools perf: Move from sane_ctype.h obtained from git to the Linux's original")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lore.kernel.org/lkml/20220112085057.277205-1-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 09:19:54 +01:00
..
2020-04-13 10:48:08 +02:00
2021-04-28 13:19:16 +02:00
2022-01-27 09:19:53 +01:00
2021-12-14 14:49:03 +01:00
2020-06-22 09:31:01 +02:00
2019-07-12 12:24:03 -07:00
2020-10-01 13:17:47 +02:00
2019-09-24 12:36:31 -07:00
2019-08-18 20:45:57 +01:00
2022-01-27 09:19:27 +01:00
2020-10-07 08:01:27 +02:00
2020-02-11 04:35:36 -08:00
2019-07-25 20:07:52 +02:00
2021-11-17 09:48:39 +01:00
2019-12-31 16:43:40 +01:00
2021-03-04 10:26:30 +01:00
2020-01-17 19:48:54 +01:00
2022-01-27 09:19:54 +01:00
2021-05-22 11:38:30 +02:00
2021-07-31 08:19:37 +02:00
2022-01-11 15:23:31 +01:00
2021-09-22 12:26:20 +02:00
2021-10-09 14:39:49 +02:00
2019-10-13 09:38:27 -04:00
2021-10-09 14:39:50 +02:00
2019-08-14 10:59:59 -03:00