• James Clark's avatar
    perf stat aggregation: Add separate socket member · 1a270cb6
    James Clark authored
    Add socket as a separate member so that it doesn't have to be packed
    into the int value.
    
    When the socket ID was larger than 8 bits the output appeared corrupted
    or incomplete.
    
    For example, here on ThunderX2 'perf stat' reports a socket of -1 and an
    invalid die number:
    
      ./perf stat -a --per-die
      The socket id number is too big.
    
      Performance counter stats for 'system wide':
    
      S-1-D255       128             687.99 msec cpu-clock                 #   57.240 CPUs utilized
      ...
      S36-D0         128             842.34 msec cpu-clock                 #   70.081 CPUs utilized
      ...
    
    And with --per-core there is an entry with an invalid core ID:
    
      ./perf stat record -a --per-core
      The socket id number is too big.
    
      Performance counter stats for 'system wide':
      S-1-D255-C65535     128             671.04 msec cpu-clock                 #   54.112 CPUs utilized
      ...
      S36-D0-C0           4              28.27 msec cpu-clock                 #    2.279 CPUs utilized
      ...
    
    This fixes the "Session topology" self test on ThunderX2.
    
    After this fix the output contains the correct socket and die IDs and no
    longer prints a warning about the size of the socket ID:
    
      ./perf stat --per-die -a
    
      Performance counter stats for 'system wide':
    
      S36-D0         128         169,869.39 msec cpu-clock                 #  127.501 CPUs utilized
      ...
      S3612-D0         128         169,733.05 msec cpu-clock                 #  127.398 CPUs utilized
    Signed-off-by: default avatarJames Clark <james.clark@arm.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: default avatarJohn Garry <john.garry@huawei.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Richter <tmricht@linux.ibm.com>
    Link: https://lore.kernel.org/r/20201126141328.6509-10-james.clark@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    1a270cb6
cpumap.c 12.9 KB