• Jiri Olsa's avatar
    perf tools: Add MEM_TOPOLOGY feature to perf data file · e2091ced
    Jiri Olsa authored
    Adding MEM_TOPOLOGY feature to perf data file,
    that will carry physical memory map and its
    node assignments.
    
    The format of data in MEM_TOPOLOGY is as follows:
    
      0 - version          | for future changes
      8 - block_size_bytes | /sys/devices/system/memory/block_size_bytes
     16 - count            | number of nodes
    
     For each node we store map of physical indexes for
     each node:
    
     32 - node id          | node index
     40 - size             | size of bitmap
     48 - bitmap           | bitmap of memory indexes that belongs to node
                           | /sys/devices/system/node/node<NODE>/memory<INDEX>
    
    The MEM_TOPOLOGY could be displayed with following
    report command:
    
      $ perf report --header-only -I
      ...
      # memory nodes (nr 1, block size 0x8000000):
      #    0 [7G]: 0-23,32-69
    Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20180307155020.32613-8-jolsa@kernel.org
    [ Rename 'index' to 'idx', as this breaks the build in rhel5, 6 and other systems where this is used by glibc headers ]
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    e2091ced
header.c 82.2 KB