← Documents Documentation/admin-guide/perf/arm_dsu_pmu.rst GitHub 원문 ↗

Linux 6.18.37 · Administration / Performance

ARM DynamIQ Shared Unit PMU

DSU의 shared L3·SCU counter, event discovery, associated CPU와 sampling 제약을 설명합니다.

Source pathDocumentation/admin-guide/perf/arm_dsu_pmu.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

운영 핵심

arm_dsu_pmu.rst:1-29

Hardware가 광고한 event는 alias로 사용하고 나머지는 product TRM을 확인해 raw code로 system-wide 측정합니다.

관점핵심
UnitARM DynamIQ Shared Unit multicore cluster
EventsL3 cache, Snoop Control Unit 등
Counters32-bit event counter + 64-bit cycle counter
Discovery`events` directory의 hardware-advertised subset
CPU`associated_cpus`
LimitsPer-process event와 sampling 미지원

2. 영어 원문 전체

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

원문 전체 펼치기
1 ==================================
2 ARM DynamIQ Shared Unit (DSU) PMU
3 ==================================
4
5 ARM DynamIQ Shared Unit integrates one or more cores with an L3 memory system,
6 control logic and external interfaces to form a multicore cluster. The PMU
7 allows counting the various events related to the L3 cache, Snoop Control Unit
8 etc, using 32bit independent counters. It also provides a 64bit cycle counter.
9
10 The PMU can only be accessed via CPU system registers and are common to the
11 cores connected to the same DSU. Like most of the other uncore PMUs, DSU
12 PMU doesn't support process specific events and cannot be used in sampling mode.
13
14 The DSU provides a bitmap for a subset of implemented events via hardware
15 registers. There is no way for the driver to determine if the other events
16 are available or not. Hence the driver exposes only those events advertised
17 by the DSU, in "events" directory under::
18
19 /sys/bus/event_sources/devices/arm_dsu_<N>/
20
21 The user should refer to the TRM of the product to figure out the supported events
22 and use the raw event code for the unlisted events.
23
24 The driver also exposes the CPUs connected to the DSU instance in "associated_cpus".
25
26
27 e.g usage::
28
29 perf stat -a -e arm_dsu_0/cycles/
30

3. 한국어 전문 번역

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

DynamIQ Shared Unit PMU

1-13

`ARM DynamIQ Shared Unit (DSU) PMU`의 DSU는 하나 이상의 core를 L3 memory system, control logic, external interface와 통합해 multicore cluster를 구성합니다.

PMU는 `32bit independent counters`로 L3 cache, Snoop Control Unit 등에 관련된 여러 event를 count하고 64bit cycle counter도 제공합니다.

PMU는 `CPU system registers`로만 접근할 수 있고 같은 DSU에 연결된 core들이 공유합니다.

다른 uncore PMUs와 마찬가지로 `process specific events`와 sampling mode를 지원하지 않습니다.

Event discovery와 CPU 연결

14-25

DSU는 hardware register를 통해 구현된 event subset의 bitmap을 제공합니다. Driver는 나머지 event의 가용성을 판단할 수 없으므로 DSU가 광고한 event만 다음 `events` directory에 노출합니다.

/sys/bus/event_sources/devices/arm_dsu_<N>/

지원 event는 product TRM에서 확인하며 목록에 없는 event는 raw event code를 사용합니다. Driver는 해당 DSU instance에 연결된 CPU도 `associated_cpus`에 노출합니다.

관점동작
Counter32-bit independent event counter와 64-bit cycle counter
AccessDSU에 연결된 core가 공유하는 CPU system register
Events`events` directory에는 hardware bitmap이 광고한 subset만 노출
Raw eventsTRM에서 지원 여부를 확인하고 unlisted event에는 raw code 사용
CPU mapping`associated_cpus`에 DSU instance와 연결된 CPU 노출

System-wide 측정

26-29

DSU 0의 cycle event를 system-wide로 측정하는 예시입니다.

perf stat -a -e arm_dsu_0/cycles/