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

Linux 6.18.37 · Administration / Performance

Arm Network-on Chip Interconnect PMU

NI-700의 clock-domain별 PMU naming과 eventid·nodeid qualifier를 설명합니다.

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

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

1. 요약·해설

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

운영 핵심

arm-ni.rst:1-17

PMU 이름에서 hardware instance와 clock domain을 구분하고 interface event에는 eventid와 nodeid를 함께 지정합니다.

관점핵심
FabricNI-700 계열 Network-on-Chip interconnect
UnitClock domain마다 별도 PMU
Name`arm_ni_<x>_cd_<y>`
Event`eventid` + `nodeid`
Exception`cycles`는 qualifier 불필요

2. 영어 원문 전체

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

원문 전체 펼치기
1 ====================================
2 Arm Network-on Chip Interconnect PMU
3 ====================================
4
5 NI-700 and friends implement a distinct PMU for each clock domain within the
6 interconnect. Correspondingly, the driver exposes multiple PMU devices named
7 arm_ni_<x>_cd_<y>, where <x> is an (arbitrary) instance identifier and <y> is
8 the clock domain ID within that particular instance. If multiple NI instances
9 exist within a system, the PMU devices can be correlated with the underlying
10 hardware instance via sysfs parentage.
11
12 Each PMU exposes base event aliases for the interface types present in its clock
13 domain. These require qualifying with the "eventid" and "nodeid" parameters
14 to specify the event code to count and the interface at which to count it
15 (per the configured hardware ID as reflected in the xxNI_NODE_INFO register).
16 The exception is the "cycles" alias for the PMU cycle counter, which is encoded
17 with the PMU node type and needs no further qualification.
18

3. 한국어 전문 번역

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

Clock-domain별 PMU naming

1-10

`Arm Network-on Chip Interconnect PMU`의 NI-700 계열은 interconnect의 clock domain마다 별도 PMU를 구현합니다.

Driver는 `arm_ni_<x>_cd_<y>` 이름으로 여러 PMU device를 노출합니다. `<x>`는 임의의 instance identifier이고 `<y>`는 해당 instance 안의 clock-domain ID입니다.

System에 NI instance가 여러 개면 sysfs parentage를 통해 PMU device를 underlying hardware instance와 연결할 수 있습니다.

Event alias와 qualifier

11-17

각 PMU는 clock domain에 존재하는 interface type의 `base event aliases`를 노출합니다. Count할 event code와 interface를 지정하려면 `eventid`와 `nodeid` qualifier가 필요하며 hardware ID는 `xxNI_NODE_INFO` register에 반영된 configuration을 따릅니다.

항목의미
PMU name`arm_ni_<x>_cd_<y>`
`<x>`임의의 interconnect instance identifier
`<y>`해당 instance 안의 clock-domain ID
Base alias`eventid` event code + `nodeid` interface ID
`cycles` aliasPMU node type으로 encode하며 추가 qualifier 불필요

예외인 `cycles` alias는 PMU cycle counter용이며 PMU node type으로 encode돼 추가 qualifier가 필요 없습니다.