Uploaded image for project: 'Code Tools'
  1. Code Tools
  2. CODETOOLS-7904081

perfasm profiler doesn't work on Intel hybrid platforms.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • None
    • None
    • tools
    • None
    • jmh
    • x86
    • linux

      On Intel hybrid platforms, PMU events have "cpu_core" and "cpu_atom" prefixes. JMH perfasm doesn't consider "cpu_core/cycles" or "cpu_atom/cycles" as expected events and produces empty perfasm output.
      See:
      https://github.com/torvalds/linux/blob/cd89d487374c49f18a8c4af312ecc74d997f3b07/tools/perf/Documentation/intel-hybrid.txt

      Moreover:
      Currently, JMH perfasm can understand the following event format :
      e.g. perf script output (perf version 4.18.0-348.12.2.el8_5.x86_64)
      640325.930009: cycles:u: 7faa47d9cfb0 _start (/usr/lib64/ld-2.28.so)
      640325.930020: cycles:u: 7faa47d9cfb0 _start (/usr/lib64/ld-2.28.so)

      But new format is:
      e.g. perf script output (perf version 5.14.0-570.44.1.0.1.el9_6.x86_64) on Intel® Coreā„¢ Ultra 7 Processor 268V:
      5191.015394: cpu_core/cycles/u: 7fb33410e5aa [unknown] (/tmp/perf-20487.map)
       5191.016395: cpu_core/cycles/u: 7fb33410e5aa [unknown] (/tmp/perf-20487.map)
       5191.017395: cpu_core/cycles/u: 7fb33410e2da [unknown] (/tmp/perf-20487.map)
       5191.019454: cpu_atom/cycles/u: 7fb34bc8723a __futex_abstimed_wait_common (/usr/lib64/libc.so.6)
       5191.019458: cpu_atom/cycles/u: 7fb34bc8723a __futex_abstimed_wait_common (/usr/lib64/libc.so.6)
       5191.019459: cpu_atom/cycles/u: 7fb34bc8723a __futex_abstimed_wait_common (/usr/lib64/libc.so.6)

      The last separator was also changes "/u" instead of ":u"

            Unassigned Unassigned
            skuksenko Sergey Kuksenko
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: