← Documents Documentation/ABI/testing/sysfs-bus-event_source-devices-dfl_fme GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

DFL FME PMU sysfs ABI

DFL FME Performance Monitoring Unit의 perf_event_attr.config bitfields, bound CPU와 basic·cache·fabric·VTD·VTD-SIP event aliases를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-bus-event_source-devices-dfl_fme
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

FME PMU event format bits

sysfs-bus-event_source-devices-dfl_fme:1-22

format group은 config bits 0-11의 event ID, 12-15의 event type, 16-23의 event source port ID를 정의합니다.

PMU access CPU

sysfs-bus-event_source-devices-dfl_fme:24-29

cpumask는 모든 FME PMU performance events에 접근하기 위해 PMU가 bind된 CPU를 반환합니다.

FME performance-event aliases

sysfs-bus-event_source-devices-dfl_fme:31-104

events group의 각 file은 FME PMU가 지원하는 단일 performance event를 설명하며 file name이 event name입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/bus/event_source/devices/dfl_fmeX/format
2 Date: April 2020
3 KernelVersion: 5.8
4 Contact: Wu Hao <hao.wu@intel.com>
5 Description: Read-only. Attribute group to describe the magic bits
6 that go into perf_event_attr.config for a particular pmu.
7 (See ABI/testing/sysfs-bus-event_source-devices-format).
8
9 Each attribute under this group defines a bit range of the
10 perf_event_attr.config. All supported attributes are listed
11 below::
12
13 event = "config:0-11" - event ID
14 evtype = "config:12-15" - event type
15 portid = "config:16-23" - event source
16
17 For example::
18
19 fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff"
20
21 It shows this fab_mmio_read is a fabric type (0x02) event with
22 0x06 local event id for overall monitoring (portid=0xff).
23
24 What: /sys/bus/event_source/devices/dfl_fmeX/cpumask
25 Date: April 2020
26 KernelVersion: 5.8
27 Contact: Wu Hao <hao.wu@intel.com>
28 Description: Read-only. This file always returns cpu which the PMU is bound
29 for access to all fme pmu performance monitoring events.
30
31 What: /sys/bus/event_source/devices/dfl_fmeX/events
32 Date: April 2020
33 KernelVersion: 5.8
34 Contact: Wu Hao <hao.wu@intel.com>
35 Description: Read-only. Attribute group to describe performance monitoring
36 events specific to fme. Each attribute in this group describes
37 a single performance monitoring event supported by this fme pmu.
38 The name of the file is the name of the event.
39 (See ABI/testing/sysfs-bus-event_source-devices-events).
40
41 All supported performance monitoring events are listed below.
42
43 Basic events (evtype=0x00)::
44
45 clock = "event=0x00,evtype=0x00,portid=0xff"
46
47 Cache events (evtype=0x01)::
48
49 cache_read_hit = "event=0x00,evtype=0x01,portid=0xff"
50 cache_read_miss = "event=0x01,evtype=0x01,portid=0xff"
51 cache_write_hit = "event=0x02,evtype=0x01,portid=0xff"
52 cache_write_miss = "event=0x03,evtype=0x01,portid=0xff"
53 cache_hold_request = "event=0x05,evtype=0x01,portid=0xff"
54 cache_data_write_port_contention =
55 "event=0x06,evtype=0x01,portid=0xff"
56 cache_tag_write_port_contention =
57 "event=0x07,evtype=0x01,portid=0xff"
58 cache_tx_req_stall = "event=0x08,evtype=0x01,portid=0xff"
59 cache_rx_req_stall = "event=0x09,evtype=0x01,portid=0xff"
60 cache_eviction = "event=0x0a,evtype=0x01,portid=0xff"
61
62 Fabric events (evtype=0x02)::
63
64 fab_pcie0_read = "event=0x00,evtype=0x02,portid=0xff"
65 fab_pcie0_write = "event=0x01,evtype=0x02,portid=0xff"
66 fab_pcie1_read = "event=0x02,evtype=0x02,portid=0xff"
67 fab_pcie1_write = "event=0x03,evtype=0x02,portid=0xff"
68 fab_upi_read = "event=0x04,evtype=0x02,portid=0xff"
69 fab_upi_write = "event=0x05,evtype=0x02,portid=0xff"
70 fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff"
71 fab_mmio_write = "event=0x07,evtype=0x02,portid=0xff"
72 fab_port_pcie0_read = "event=0x00,evtype=0x02,portid=?"
73 fab_port_pcie0_write = "event=0x01,evtype=0x02,portid=?"
74 fab_port_pcie1_read = "event=0x02,evtype=0x02,portid=?"
75 fab_port_pcie1_write = "event=0x03,evtype=0x02,portid=?"
76 fab_port_upi_read = "event=0x04,evtype=0x02,portid=?"
77 fab_port_upi_write = "event=0x05,evtype=0x02,portid=?"
78 fab_port_mmio_read = "event=0x06,evtype=0x02,portid=?"
79 fab_port_mmio_write = "event=0x07,evtype=0x02,portid=?"
80
81 VTD events (evtype=0x03)::
82
83 vtd_port_read_transaction = "event=0x00,evtype=0x03,portid=?"
84 vtd_port_write_transaction = "event=0x01,evtype=0x03,portid=?"
85 vtd_port_devtlb_read_hit = "event=0x02,evtype=0x03,portid=?"
86 vtd_port_devtlb_write_hit = "event=0x03,evtype=0x03,portid=?"
87 vtd_port_devtlb_4k_fill = "event=0x04,evtype=0x03,portid=?"
88 vtd_port_devtlb_2m_fill = "event=0x05,evtype=0x03,portid=?"
89 vtd_port_devtlb_1g_fill = "event=0x06,evtype=0x03,portid=?"
90
91 VTD SIP events (evtype=0x04)::
92
93 vtd_sip_iotlb_4k_hit = "event=0x00,evtype=0x04,portid=0xff"
94 vtd_sip_iotlb_2m_hit = "event=0x01,evtype=0x04,portid=0xff"
95 vtd_sip_iotlb_1g_hit = "event=0x02,evtype=0x04,portid=0xff"
96 vtd_sip_slpwc_l3_hit = "event=0x03,evtype=0x04,portid=0xff"
97 vtd_sip_slpwc_l4_hit = "event=0x04,evtype=0x04,portid=0xff"
98 vtd_sip_rcc_hit = "event=0x05,evtype=0x04,portid=0xff"
99 vtd_sip_iotlb_4k_miss = "event=0x06,evtype=0x04,portid=0xff"
100 vtd_sip_iotlb_2m_miss = "event=0x07,evtype=0x04,portid=0xff"
101 vtd_sip_iotlb_1g_miss = "event=0x08,evtype=0x04,portid=0xff"
102 vtd_sip_slpwc_l3_miss = "event=0x09,evtype=0x04,portid=0xff"
103 vtd_sip_slpwc_l4_miss = "event=0x0a,evtype=0x04,portid=0xff"
104 vtd_sip_rcc_miss = "event=0x0b,evtype=0x04,portid=0xff"
105

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

DFL FME perf event format

1-22
항목전문 번역
What/sys/bus/event_source/devices/dfl_fmeX/format
Date2020년 4월
KernelVersion5.8
ContactWu Hao <hao.wu@intel.com>
DescriptionRead-only입니다. 특정 PMU의 perf_event_attr.config에 들어가는 magic bits를 설명하는 attribute group입니다. ABI/testing/sysfs-bus-event_source-devices-format을 참조합니다. 이 group 아래의 각 attribute는 perf_event_attr.config bit range를 정의합니다.
AttributeBit range의미
eventconfig:0-11Event ID
evtypeconfig:12-15Event type
portidconfig:16-23Event source
fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff"

이 예는 fab_mmio_read가 전체 monitoring(portid=0xff)에 사용하는 local event id 0x06의 fabric type(0x02) event임을 보여 줍니다.

DFL FME PMU bound CPU

24-29
항목전문 번역
What/sys/bus/event_source/devices/dfl_fmeX/cpumask
Date2020년 4월
KernelVersion5.8
ContactWu Hao <hao.wu@intel.com>
DescriptionRead-only입니다. 이 file은 모든 FME PMU performance monitoring events에 접근하기 위해 PMU가 bind된 CPU를 항상 반환합니다.

DFL FME PMU supported events

31-104
항목전문 번역
What/sys/bus/event_source/devices/dfl_fmeX/events
Date2020년 4월
KernelVersion5.8
ContactWu Hao <hao.wu@intel.com>
DescriptionRead-only입니다. FME-specific performance monitoring events를 설명하는 attribute group입니다. 이 group의 각 attribute는 이 FME PMU가 지원하는 단일 performance monitoring event를 설명하고 file name은 event name입니다. ABI/testing/sysfs-bus-event_source-devices-events를 참조합니다.

Basic events(evtype=0x00):

clock = "event=0x00,evtype=0x00,portid=0xff"

Cache events(evtype=0x01):

cache_read_hit      = "event=0x00,evtype=0x01,portid=0xff"
cache_read_miss     = "event=0x01,evtype=0x01,portid=0xff"
cache_write_hit     = "event=0x02,evtype=0x01,portid=0xff"
cache_write_miss    = "event=0x03,evtype=0x01,portid=0xff"
cache_hold_request  = "event=0x05,evtype=0x01,portid=0xff"
cache_data_write_port_contention = "event=0x06,evtype=0x01,portid=0xff"
cache_tag_write_port_contention  = "event=0x07,evtype=0x01,portid=0xff"
cache_tx_req_stall  = "event=0x08,evtype=0x01,portid=0xff"
cache_rx_req_stall  = "event=0x09,evtype=0x01,portid=0xff"
cache_eviction      = "event=0x0a,evtype=0x01,portid=0xff"

Fabric events(evtype=0x02):

fab_pcie0_read       = "event=0x00,evtype=0x02,portid=0xff"
fab_pcie0_write      = "event=0x01,evtype=0x02,portid=0xff"
fab_pcie1_read       = "event=0x02,evtype=0x02,portid=0xff"
fab_pcie1_write      = "event=0x03,evtype=0x02,portid=0xff"
fab_upi_read         = "event=0x04,evtype=0x02,portid=0xff"
fab_upi_write        = "event=0x05,evtype=0x02,portid=0xff"
fab_mmio_read        = "event=0x06,evtype=0x02,portid=0xff"
fab_mmio_write       = "event=0x07,evtype=0x02,portid=0xff"
fab_port_pcie0_read  = "event=0x00,evtype=0x02,portid=?"
fab_port_pcie0_write = "event=0x01,evtype=0x02,portid=?"
fab_port_pcie1_read  = "event=0x02,evtype=0x02,portid=?"
fab_port_pcie1_write = "event=0x03,evtype=0x02,portid=?"
fab_port_upi_read    = "event=0x04,evtype=0x02,portid=?"
fab_port_upi_write   = "event=0x05,evtype=0x02,portid=?"
fab_port_mmio_read   = "event=0x06,evtype=0x02,portid=?"
fab_port_mmio_write  = "event=0x07,evtype=0x02,portid=?"

VTD events(evtype=0x03):

vtd_port_read_transaction  = "event=0x00,evtype=0x03,portid=?"
vtd_port_write_transaction = "event=0x01,evtype=0x03,portid=?"
vtd_port_devtlb_read_hit   = "event=0x02,evtype=0x03,portid=?"
vtd_port_devtlb_write_hit  = "event=0x03,evtype=0x03,portid=?"
vtd_port_devtlb_4k_fill    = "event=0x04,evtype=0x03,portid=?"
vtd_port_devtlb_2m_fill    = "event=0x05,evtype=0x03,portid=?"
vtd_port_devtlb_1g_fill    = "event=0x06,evtype=0x03,portid=?"

VTD SIP events(evtype=0x04):

vtd_sip_iotlb_4k_hit  = "event=0x00,evtype=0x04,portid=0xff"
vtd_sip_iotlb_2m_hit  = "event=0x01,evtype=0x04,portid=0xff"
vtd_sip_iotlb_1g_hit  = "event=0x02,evtype=0x04,portid=0xff"
vtd_sip_slpwc_l3_hit  = "event=0x03,evtype=0x04,portid=0xff"
vtd_sip_slpwc_l4_hit  = "event=0x04,evtype=0x04,portid=0xff"
vtd_sip_rcc_hit       = "event=0x05,evtype=0x04,portid=0xff"
vtd_sip_iotlb_4k_miss = "event=0x06,evtype=0x04,portid=0xff"
vtd_sip_iotlb_2m_miss = "event=0x07,evtype=0x04,portid=0xff"
vtd_sip_iotlb_1g_miss = "event=0x08,evtype=0x04,portid=0xff"
vtd_sip_slpwc_l3_miss = "event=0x09,evtype=0x04,portid=0xff"
vtd_sip_slpwc_l4_miss = "event=0x0a,evtype=0x04,portid=0xff"
vtd_sip_rcc_miss      = "event=0x0b,evtype=0x04,portid=0xff"