• Adrian Hunter's avatar
    perf tools: Make it possible to see perf's kernel and module memory mappings · 0bdfbd04
    Adrian Hunter authored
    Dump kmaps if using 'perf --debug kmaps' or verbose > 2 (e.g. -vvv) for
    tools 'perf script' and 'perf report' if there is no browser.
    
    Example:
    
      $ perf --debug kmaps script 2>&1 >/dev/null | grep kvm.intel
      build id event received for /lib/modules/6.7.2-local/kernel/arch/x86/kvm/kvm-intel.ko: 0691d75e10e72ebbbd45a44c59f6d00a5604badf [20]
      Map: 0-3a3 4f5d8 [kvm_intel].modinfo
      Map: 0-5240 5f280 [kvm_intel]__versions
      Map: 0-30 64 [kvm_intel].note.Linux
      Map: 0-14 644c0 [kvm_intel].orc_header
      Map: 0-5297 43680 [kvm_intel].rodata
      Map: 0-5bee 3b837 [kvm_intel].text.unlikely
      Map: 0-7e0 41430 [kvm_intel].noinstr.text
      Map: 0-2080 713c0 [kvm_intel].bss
      Map: 0-26 705c8 [kvm_intel].data..read_mostly
      Map: 0-5888 6a4c0 [kvm_intel].data
      Map: 0-22 70220 [kvm_intel].data.once
      Map: 0-40 705f0 [kvm_intel].data..percpu
      Map: 0-1685 41d20 [kvm_intel].init.text
      Map: 0-4b8 6fd60 [kvm_intel].init.data
      Map: 0-380 70248 [kvm_intel]__dyndbg
      Map: 0-8 70218 [kvm_intel].exit.data
      Map: 0-438 4f980 [kvm_intel]__param
      Map: 0-5f5 4ca0f [kvm_intel].rodata.str1.1
      Map: 0-3657 493b8 [kvm_intel].rodata.str1.8
      Map: 0-e0 70640 [kvm_intel].data..ro_after_init
      Map: 0-500 70ec0 [kvm_intel].gnu.linkonce.this_module
      Map: ffffffffc13a7000-ffffffffc1421000 a0 /lib/modules/6.7.2-local/kernel/arch/x86/kvm/kvm-intel.ko
    
    The example above shows how the module section mappings are all wrong
    except for the main .text mapping at 0xffffffffc13a7000.
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Like Xu <like.xu.linux@gmail.com>
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/r/20240208085326.13432-2-adrian.hunter@intel.com
    0bdfbd04
python.c 39.6 KB