1*bad11557SKoichi Okuno.. SPDX-License-Identifier: GPL-2.0-only 2*bad11557SKoichi Okuno 3*bad11557SKoichi Okuno================================================ 4*bad11557SKoichi OkunoFujitsu Uncore Performance Monitoring Unit (PMU) 5*bad11557SKoichi Okuno================================================ 6*bad11557SKoichi Okuno 7*bad11557SKoichi OkunoThis driver supports the Uncore MAC PMUs and the Uncore PCI PMUs found 8*bad11557SKoichi Okunoin Fujitsu chips. 9*bad11557SKoichi OkunoEach MAC PMU on these chips is exposed as a uncore perf PMU with device name 10*bad11557SKoichi Okunomac_iod<iod>_mac<mac>_ch<ch>. 11*bad11557SKoichi OkunoAnd each PCI PMU on these chips is exposed as a uncore perf PMU with device name 12*bad11557SKoichi Okunopci_iod<iod>_pci<pci>. 13*bad11557SKoichi Okuno 14*bad11557SKoichi OkunoThe driver provides a description of its available events and configuration 15*bad11557SKoichi Okunooptions in sysfs, see /sys/bus/event_sources/devices/mac_iod<iod>_mac<mac>_ch<ch>/ 16*bad11557SKoichi Okunoand /sys/bus/event_sources/devices/pci_iod<iod>_pci<pci>/. 17*bad11557SKoichi OkunoThis driver exports: 18*bad11557SKoichi Okuno- formats, used by perf user space and other tools to configure events 19*bad11557SKoichi Okuno- events, used by perf user space and other tools to create events 20*bad11557SKoichi Okuno symbolically, e.g.: 21*bad11557SKoichi Okuno perf stat -a -e mac_iod0_mac0_ch0/event=0x21/ ls 22*bad11557SKoichi Okuno perf stat -a -e pci_iod0_pci0/event=0x24/ ls 23*bad11557SKoichi Okuno- cpumask, used by perf user space and other tools to know on which CPUs 24*bad11557SKoichi Okuno to open the events 25*bad11557SKoichi Okuno 26*bad11557SKoichi OkunoThis driver supports the following events for MAC: 27*bad11557SKoichi Okuno- cycles 28*bad11557SKoichi Okuno This event counts MAC cycles at MAC frequency. 29*bad11557SKoichi Okuno- read-count 30*bad11557SKoichi Okuno This event counts the number of read requests to MAC. 31*bad11557SKoichi Okuno- read-count-request 32*bad11557SKoichi Okuno This event counts the number of read requests including retry to MAC. 33*bad11557SKoichi Okuno- read-count-return 34*bad11557SKoichi Okuno This event counts the number of responses to read requests to MAC. 35*bad11557SKoichi Okuno- read-count-request-pftgt 36*bad11557SKoichi Okuno This event counts the number of read requests including retry with PFTGT 37*bad11557SKoichi Okuno flag. 38*bad11557SKoichi Okuno- read-count-request-normal 39*bad11557SKoichi Okuno This event counts the number of read requests including retry without PFTGT 40*bad11557SKoichi Okuno flag. 41*bad11557SKoichi Okuno- read-count-return-pftgt-hit 42*bad11557SKoichi Okuno This event counts the number of responses to read requests which hit the 43*bad11557SKoichi Okuno PFTGT buffer. 44*bad11557SKoichi Okuno- read-count-return-pftgt-miss 45*bad11557SKoichi Okuno This event counts the number of responses to read requests which miss the 46*bad11557SKoichi Okuno PFTGT buffer. 47*bad11557SKoichi Okuno- read-wait 48*bad11557SKoichi Okuno This event counts outstanding read requests issued by DDR memory controller 49*bad11557SKoichi Okuno per cycle. 50*bad11557SKoichi Okuno- write-count 51*bad11557SKoichi Okuno This event counts the number of write requests to MAC (including zero write, 52*bad11557SKoichi Okuno full write, partial write, write cancel). 53*bad11557SKoichi Okuno- write-count-write 54*bad11557SKoichi Okuno This event counts the number of full write requests to MAC (not including 55*bad11557SKoichi Okuno zero write). 56*bad11557SKoichi Okuno- write-count-pwrite 57*bad11557SKoichi Okuno This event counts the number of partial write requests to MAC. 58*bad11557SKoichi Okuno- memory-read-count 59*bad11557SKoichi Okuno This event counts the number of read requests from MAC to memory. 60*bad11557SKoichi Okuno- memory-write-count 61*bad11557SKoichi Okuno This event counts the number of full write requests from MAC to memory. 62*bad11557SKoichi Okuno- memory-pwrite-count 63*bad11557SKoichi Okuno This event counts the number of partial write requests from MAC to memory. 64*bad11557SKoichi Okuno- ea-mac 65*bad11557SKoichi Okuno This event counts energy consumption of MAC. 66*bad11557SKoichi Okuno- ea-memory 67*bad11557SKoichi Okuno This event counts energy consumption of memory. 68*bad11557SKoichi Okuno- ea-memory-mac-write 69*bad11557SKoichi Okuno This event counts the number of write requests from MAC to memory. 70*bad11557SKoichi Okuno- ea-ha 71*bad11557SKoichi Okuno This event counts energy consumption of HA. 72*bad11557SKoichi Okuno 73*bad11557SKoichi Okuno 'ea' is the abbreviation for 'Energy Analyzer'. 74*bad11557SKoichi Okuno 75*bad11557SKoichi OkunoExamples for use with perf:: 76*bad11557SKoichi Okuno 77*bad11557SKoichi Okuno perf stat -e mac_iod0_mac0_ch0/ea-mac/ ls 78*bad11557SKoichi Okuno 79*bad11557SKoichi OkunoAnd, this driver supports the following events for PCI: 80*bad11557SKoichi Okuno- pci-port0-cycles 81*bad11557SKoichi Okuno This event counts PCI cycles at PCI frequency in port0. 82*bad11557SKoichi Okuno- pci-port0-read-count 83*bad11557SKoichi Okuno This event counts read transactions for data transfer in port0. 84*bad11557SKoichi Okuno- pci-port0-read-count-bus 85*bad11557SKoichi Okuno This event counts read transactions for bus usage in port0. 86*bad11557SKoichi Okuno- pci-port0-write-count 87*bad11557SKoichi Okuno This event counts write transactions for data transfer in port0. 88*bad11557SKoichi Okuno- pci-port0-write-count-bus 89*bad11557SKoichi Okuno This event counts write transactions for bus usage in port0. 90*bad11557SKoichi Okuno- pci-port1-cycles 91*bad11557SKoichi Okuno This event counts PCI cycles at PCI frequency in port1. 92*bad11557SKoichi Okuno- pci-port1-read-count 93*bad11557SKoichi Okuno This event counts read transactions for data transfer in port1. 94*bad11557SKoichi Okuno- pci-port1-read-count-bus 95*bad11557SKoichi Okuno This event counts read transactions for bus usage in port1. 96*bad11557SKoichi Okuno- pci-port1-write-count 97*bad11557SKoichi Okuno This event counts write transactions for data transfer in port1. 98*bad11557SKoichi Okuno- pci-port1-write-count-bus 99*bad11557SKoichi Okuno This event counts write transactions for bus usage in port1. 100*bad11557SKoichi Okuno- ea-pci 101*bad11557SKoichi Okuno This event counts energy consumption of PCI. 102*bad11557SKoichi Okuno 103*bad11557SKoichi Okuno 'ea' is the abbreviation for 'Energy Analyzer'. 104*bad11557SKoichi Okuno 105*bad11557SKoichi OkunoExamples for use with perf:: 106*bad11557SKoichi Okuno 107*bad11557SKoichi Okuno perf stat -e pci_iod0_pci0/ea-pci/ ls 108*bad11557SKoichi Okuno 109*bad11557SKoichi OkunoGiven that these are uncore PMUs the driver does not support sampling, therefore 110*bad11557SKoichi Okuno"perf record" will not work. Per-task perf sessions are not supported. 111