OpenCloudOS-Kernel/tools/perf/scripts/python/bin
Kan Liang 41013f0c09 perf script python: Add script to profile and resolve physical mem type
There could be different types of memory in the system. E.g normal
System Memory, Persistent Memory. To understand how the workload maps to
those memories, it's important to know the I/O statistics of them.  Perf
can collect physical addresses, but those are raw data.  It still needs
extra work to resolve the physical addresses.  Provide a script to
facilitate the physical addresses resolving and I/O statistics.

Profile with MEM_INST_RETIRED.ALL_LOADS or MEM_UOPS_RETIRED.ALL_LOADS
event if any of them is available.

Look up the /proc/iomem and resolve the physical address.  Provide
memory type summary.

Here is an example output:

  # perf script report mem-phys-addr
  Event: mem_inst_retired.all_loads:P
  Memory type                                    count   percentage
  ----------------------------------------  -----------  -----------
  System RAM                                        74        53.2%
  Persistent Memory                                 55        39.6%
  N/A

  ---

Changes since V2:
 - Apply the new license rules.
 - Add comments for globals

Changes since V1:
 - Do not mix DLA and Load Latency. Do not compare the loads and stores.
   Only profile the loads.
 - Use event name to replace the RAW event

Signed-off-by: Kan Liang <Kan.liang@intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Philippe Ombredanne <pombredanne@nexb.com>
Cc: Stephane Eranian <eranian@google.com>
Link: https://lkml.kernel.org/r/1515099595-34770-1-git-send-email-kan.liang@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2018-01-12 11:06:57 -03:00
..
compaction-times-record perf scripts python: Add new compaction-times script 2015-08-28 14:53:40 -03:00
compaction-times-report perf scripts python: Add new compaction-times script 2015-08-28 14:53:40 -03:00
event_analyzing_sample-record perf scripts: Add event_analyzing_sample-record/report 2012-09-17 13:11:15 -03:00
event_analyzing_sample-report perf scripts: Add event_analyzing_sample-record/report 2012-09-17 13:11:15 -03:00
export-to-postgresql-record perf script: Add Python script to export to postgresql 2014-10-29 10:32:49 -02:00
export-to-postgresql-report perf tools: Add call information to Python export 2014-11-03 18:10:06 -03:00
export-to-sqlite-record perf script python: Add support for exporting to sqlite3 2017-08-15 16:37:55 -03:00
export-to-sqlite-report perf script python: Add support for exporting to sqlite3 2017-08-15 16:37:55 -03:00
failed-syscalls-by-pid-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
failed-syscalls-by-pid-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
futex-contention-record perf trace scripting: remove system-wide param from shell scripts 2010-11-10 08:08:20 -06:00
futex-contention-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
intel-pt-events-record perf intel-pt: Add example script for power events and PTWRITE 2017-06-30 11:50:53 -03:00
intel-pt-events-report perf intel-pt: Add example script for power events and PTWRITE 2017-06-30 11:50:53 -03:00
mem-phys-addr-record perf script python: Add script to profile and resolve physical mem type 2018-01-12 11:06:57 -03:00
mem-phys-addr-report perf script python: Add script to profile and resolve physical mem type 2018-01-12 11:06:57 -03:00
net_dropmonitor-record perf script: Add drop monitor script 2011-09-29 16:41:37 -03:00
net_dropmonitor-report perf script: Add drop monitor script 2011-09-29 16:41:37 -03:00
netdev-times-record perf trace scripting: remove system-wide param from shell scripts 2010-11-10 08:08:20 -06:00
netdev-times-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
sched-migration-record perf trace scripting: remove system-wide param from shell scripts 2010-11-10 08:08:20 -06:00
sched-migration-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
sctop-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
sctop-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
stackcollapse-record perf script: Add stackcollapse.py script 2016-06-21 13:18:35 -03:00
stackcollapse-report perf script: Add stackcollapse.py script 2016-06-21 13:18:35 -03:00
syscall-counts-by-pid-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
syscall-counts-by-pid-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
syscall-counts-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
syscall-counts-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00