[PATCH 0/4] perf/arm-cmn: Add CMN-650 and CMN-700

Qian Cai quic_qiancai at quicinc.com
Tue May 10 12:38:15 PDT 2022


On Tue, May 10, 2022 at 06:50:56PM +0100, Robin Murphy wrote:
> Hmm, can you narrow it down a bit more to a particular patch and/or a
> specific reproducer? I don't see how it could really be crashing
> dereferencing event->pmu, especially since none of the code this early in
> event_init has even changed recently :/

Right, there is an old bug that sometimes the debuginfo on kernel
modules is not accurate on arm64, so gdb and faddr2line gave the wrong
line. Anyway, using the printk() method, we were faulted on this line.

+       /* This is sufficiently annoying to recalculate, so cache it */
+       hw->filter_sel = arm_cmn_filter_sel(cmn->model, type, eventid);

Also, it can be reproduced within 5-min by running,

$ trinity -C 128 -cperf_event_open

> Something's definitely screwy here though... these ID numbers should have a
> device type above them. Was this dumped with patch #1 applied, and if not do
> they show as "????" when it is?

Yes, with the series applied, we have,


     X    0        1        2        3        4        5        6        7
Y P D+--------+--------+--------+--------+--------+--------+--------+--------+
5    | XP #40 | XP #41 | XP #42 | XP #43 | XP #44 | XP #45 | XP #46 | XP #47 |
     | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  |
     |........|........|........|........|........|........|........|........|
  0  |  CXRH  |  HN-I  |  HN-I  |  HN-I  |  HN-D  |  HN-I  |  HN-I  |  CXRH  |
    0|   #2   |   #3   |   #4   |   #5   |   #0   |   #6   |   #7   |   #3   |
    1|        |        |        |        |        |        |        |        |
  1  |  RN-D  |  RN-D  |  RN-D  |  RN-I  |  RN-I  |  RN-D  |  RN-D  |  RN-D  |
    0|   #2   |   #3   |   #4   |   #10  |   #11  |   #5   |   #6   |   #7   |
    1|        |        |        |        |        |        |        |        |
-----+--------+--------+--------+--------+--------+--------+--------+--------+
4    | XP #32 | XP #33 | XP #34 | XP #35 | XP #36 | XP #37 | XP #38 | XP #39 |
     | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  |
     |........|........|........|........|........|........|........|........|
  0  |  SN-F  | RN-F_B |  RN-I  | RN-F_B | RN-F_B |  RN-I  | RN-F_B |  SN-F  |
    0|        |        |   #8   |        |        |   #9   |        |        |
    1|        |        |        |        |        |        |        |        |
  1  |  ????  | RN-F_B |  ????  | RN-F_B | RN-F_B |  ????  | RN-F_B |  ????  |
    0|   #24  |        |   #26  |        |        |   #28  |        |   #30  |
    1|   #25  |        |   #27  |        |        |   #29  |        |   #31  |
-----+--------+--------+--------+--------+--------+--------+--------+--------+
3    | XP #24 | XP #25 | XP #26 | XP #27 | XP #28 | XP #29 | XP #30 | XP #31 |
     | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  |
     |........|........|........|........|........|........|........|........|
  0  |  SN-F  | RN-F_B |  RN-I  | RN-F_B | RN-F_B |  RN-I  | RN-F_B |  SN-F  |
    0|        |        |   #6   |        |        |   #7   |        |        |
    1|        |        |        |        |        |        |        |        |
  1  |  ????  | RN-F_B |  ????  | RN-F_B | RN-F_B |  ????  | RN-F_B |  ????  |
    0|   #16  |        |   #18  |        |        |   #20  |        |   #22  |
    1|   #17  |        |   #19  |        |        |   #21  |        |   #23  |
-----+--------+--------+--------+--------+--------+--------+--------+--------+
2    | XP #16 | XP #17 | XP #18 | XP #19 | XP #20 | XP #21 | XP #22 | XP #23 |
     | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  |
     |........|........|........|........|........|........|........|........|
  0  |  SN-F  | RN-F_B |  RN-I  | RN-F_B | RN-F_B |  RN-I  | RN-F_B |  SN-F  |
    0|        |        |   #4   |        |        |   #5   |        |        |
    1|        |        |        |        |        |        |        |        |
  1  |  ????  | RN-F_B |  ????  | RN-F_B | RN-F_B |  ????  | RN-F_B |  ????  |
    0|   #8   |        |   #10  |        |        |   #12  |        |   #14  |
    1|   #9   |        |   #11  |        |        |   #13  |        |   #15  |
-----+--------+--------+--------+--------+--------+--------+--------+--------+
1    | XP #8  | XP #9  | XP #10 | XP #11 | XP #12 | XP #13 | XP #14 | XP #15 |
     | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  |
     |........|........|........|........|........|........|........|........|
  0  |  SN-F  | RN-F_B |  RN-I  | RN-F_B | RN-F_B |  RN-I  | RN-F_B |  SN-F  |
    0|        |        |   #2   |        |        |   #3   |        |        |
    1|        |        |        |        |        |        |        |        |
  1  |  ????  | RN-F_B |  ????  | RN-F_B | RN-F_B |  ????  | RN-F_B |  ????  |
    0|   #0   |        |   #2   |        |        |   #4   |        |   #6   |
    1|   #1   |        |   #3   |        |        |   #5   |        |   #7   |
-----+--------+--------+--------+--------+--------+--------+--------+--------+
0    | XP #0  | XP #1  | XP #2  | XP #3  | XP #4  | XP #5  | XP #6  | XP #7  |
     | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  | DTC 0  |
     |........|........|........|........|........|........|........|........|
  0  |  CXRH  | RN-F_B |  RN-I  | RN-F_B | RN-F_B |  RN-I  | RN-F_B |  CXRH  |
    0|   #0   |        |   #0   |        |        |   #1   |        |   #1   |
    1|        |        |        |        |        |        |        |        |
  1  |  RN-D  | RN-F_B |  HN-I  | RN-F_B | RN-F_B |  HN-I  | RN-F_B |  RN-D  |
    0|   #0   |        |   #1   |        |        |   #2   |        |   #1   |
    1|        |        |        |        |        |        |        |        |
-----+--------+--------+--------+--------+--------+--------+--------+--------+



More information about the linux-arm-kernel mailing list