linux/tools
Ravi Bangoria 0429796e45 perf script ibs: Support new IBS bits in raw trace dump
Interpret Additional set of IBS register bits while doing
perf report/script raw dump.

IBS op PMU ex:

  $ sudo ./perf record -c 130 -a -e ibs_op/l3missonly=1/ --raw-samples
  $ sudo ./perf report -D
  ...
  ibs_op_ctl:     0000004500070008 MaxCnt       128 L3MissOnly 1 En 1
        Val 1 CntCtl 0=cycles CurCnt        69
  ibs_op_data:    0000000000710002 CompToRetCtr     2 TagToRetCtr   113
        BrnRet 0  RipInvalid 0 BrnFuse 0 Microcode 0
  ibs_op_data2:   0000000000000002 CacheHitSt 0=M-state RmtNode 0
        DataSrc 2=A peer cache in a near CCX
  ibs_op_data3:   000000681d1700a1 LdOp 1 StOp 0 DcL1TlbMiss 0
        DcL2TlbMiss 0 DcL1TlbHit2M 0 DcL1TlbHit1G 1 DcL2TlbHit2M 0
        DcMiss 1 DcMisAcc 0 DcWcMemAcc 0 DcUcMemAcc 0 DcLockedOp 0
        DcMissNoMabAlloc 1 DcLinAddrValid 1 DcPhyAddrValid 1
        DcL2TlbHit1G 0 L2Miss 1 SwPf 0 OpMemWidth  8 bytes
        OpDcMissOpenMemReqs  7 DcMissLat   104 TlbRefillLat     0

IBS Fetch PMU ex:
  $ sudo ./perf record -c 130 -a -e ibs_fetch/l3missonly=1/ --raw-samples
  $ sudo ./perf report -D
  ...
  ibs_fetch_ctl:  3c1f00c700080008 MaxCnt     128 Cnt     128 Lat   199
        En 1 Val 1 Comp 1 IcMiss 1 PhyAddrValid        1 L1TlbPgSz 4KB
        L1TlbMiss 0 L2TlbMiss 0 RandEn 0 L2Miss 1 L3MissOnly 1
        FetchOcMiss 1 FetchL3Miss 1

With the DataSrc extensions, the source of data can be decoded among:
 - Local L3 or other L1/L2 in CCX.
 - A peer cache in a near CCX.
 - Data returned from DRAM.
 - A peer cache in a far CCX.
 - DRAM address map with "long latency" bit set.
 - Data returned from MMIO/Config/PCI/APIC.
 - Extension Memory (S-Link, GenZ, etc - identified by the CS target
    and/or address map at DF's choice).
 - Peer Agent Memory.

Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ananth Narayan <ananth.narayan@amd.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Kim Phillips <kim.phillips@amd.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Robert Richter <rrichter@amd.com>
Cc: Sandipan Das <sandipan.das@amd.com>
Cc: Santosh Shukla <santosh.shukla@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: like.xu.linux@gmail.com
Cc: x86@kernel.org
Link: https://lore.kernel.org/r/20220604044519.594-9-ravi.bangoria@amd.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-06-24 13:18:55 -03:00
..
accounting delayacct: track delays from write-protect copy 2022-06-01 15:55:25 -07:00
arch perf tool ibs: Sync AMD IBS header file 2022-06-24 13:18:55 -03:00
bootconfig
bpf bpftool: Use sysfs vmlinux when dumping BTF by ID 2022-05-13 16:07:53 -07:00
build perf build: Stop using __weak bpf_map_create() to handle older libbpf versions 2022-05-26 12:36:56 -03:00
certs tools/certs: Add print-cert-tbs-hash.sh 2022-05-23 18:47:49 +03:00
cgroup
counter
debugging
edid
firewire
firmware
gpio tools: gpio: Add new hardware clock type 2022-05-04 11:06:14 +02:00
hv
iio Kbuild updates for v5.18 2022-03-31 11:59:03 -07:00
include perf tool fixes for v5.19, 1st batch: 2022-06-20 09:31:03 -05:00
io_uring
kvm/kvm_stat
laptop
leds
lib perf record: Add finished init event 2022-06-23 11:54:22 -03:00
memory-model tools/memory-model/README: Update klitmus7 compat table 2022-05-03 10:12:48 -07:00
objtool x86/extable: Annotate ex_handler_msr_mce() as a dead end 2022-05-27 12:34:45 +02:00
pci
pcmcia
perf perf script ibs: Support new IBS bits in raw trace dump 2022-06-24 13:18:55 -03:00
power Power management updates for 5.19-rc1 2022-05-24 16:04:25 -07:00
rcu
scripts Kbuild updates for v5.18 2022-03-31 11:59:03 -07:00
spi
testing Networking fixes for 5.19-rc4, including fixes from bpf and netfilter. 2022-06-23 09:01:01 -05:00
thermal tools/thermal: remove unneeded semicolon 2022-05-19 12:11:52 +02:00
time
tracing rtla: Remove procps-ng dependency 2022-05-26 15:20:46 -04:00
usb testusb: Fix warning comparing pointer to 0 2022-04-26 13:32:49 +02:00
virtio tools/virtio: compile with -pthread 2022-03-28 16:52:59 -04:00
vm mm/page-flags: reuse PG_mappedtodisk as PG_anon_exclusive for PageAnon() pages 2022-05-09 18:20:44 -07:00
wmi
Makefile Thermal control updates for 5.19-rc1 2022-05-24 16:19:30 -07:00