요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
TPMI ID MMIO dump와 write
debugfs-tpmi:12-31mem_dump는 TPMI ID의 MMIO region을 출력하고 mem_write는 instance,offset,contents 형식으로 4의 배수 offset에 씁니다. Read-only 여부는 hardware가 강제합니다.
Sticky Performance Limit Reasons
debugfs-tpmi:33-40PLR status는 die와 그 아래 CPU들의 현재 active Performance Limit Reasons를 sticky하게 유지하며 0과 newline을 쓰면 모두 지웁니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/kernel/debug/tpmi-<n>/pfs_dump
Date: November 2023
KernelVersion: 6.6
Contact: srinivas.pandruvada@linux.intel.com
Description:
The PFS (PM Feature Structure) table, shows details of each power
management feature. This includes:
tpmi_id, number of entries, entry size, offset, vsec offset, lock status
and disabled status.
Users: Debugging, any user space test suite
What: /sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_dump
Date: November 2023
KernelVersion: 6.6
Contact: srinivas.pandruvada@linux.intel.com
Description:
Shows the memory dump of the MMIO region for a TPMI ID.
Users: Debugging, any user space test suite
What: /sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_write
Date: November 2023
KernelVersion: 6.6
Contact: srinivas.pandruvada@linux.intel.com
Description:
Allows to write at any offset. It doesn't check for Read/Write access
as hardware will not allow to write at read-only memory. This write is
at offset multiples of 4. The format is instance,offset,contents.
Example:
echo 0,0x20,0xff > mem_write
echo 1,64,64 > mem_write
Users: Debugging, any user space test suite
What: /sys/kernel/debug/tpmi-<n>/plr/domain<n>/status
Date: Aug 2024
KernelVersion: 6.11
Contact: Tero Kristo <tero.kristo@linux.intel.com>
Description:
Shows the currently active Performance Limit Reasons for die level and the
individual CPUs under the die. The contents of this file are sticky, and
clearing all the statuses can be done by writing "0\n" to this file.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TPMI PM Feature Structure table
1-10| 항목 | 내용 |
|---|---|
| What | /sys/kernel/debug/tpmi-<n>/pfs_dump |
| Date | 2023년 11월 |
| KernelVersion | 6.6 |
| Contact | srinivas.pandruvada@linux.intel.com |
| Description | PFS(PM Feature Structure) table은 각 power-management feature의 상세 정보를 보여 줍니다. 여기에는 tpmi_id, entry 수, entry size, offset, vsec offset, lock status, disabled status가 포함됩니다. |
| Users | Debugging, 모든 user space test suite |
TPMI ID MMIO memory 접근
12-31| What | 전문 번역 |
|---|---|
| /sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_dump | TPMI ID에 해당하는 MMIO region의 memory dump를 보여 줍니다. |
| /sys/kernel/debug/tpmi-<n>/tpmi-id-<n>/mem_write | 어떤 offset에도 쓸 수 있게 합니다. Hardware가 read-only memory에 대한 write를 허용하지 않으므로 이 interface는 Read/Write access를 검사하지 않습니다. Offset은 4의 배수여야 합니다. 형식은 instance,offset,contents입니다. |
mem_write 예:
echo 0,0x20,0xff > mem_write
echo 1,64,64 > mem_write
| 공통 항목 | 내용 |
|---|---|
| Date | 2023년 11월 |
| KernelVersion | 6.6 |
| Contact | srinivas.pandruvada@linux.intel.com |
| Users | Debugging, 모든 user space test suite |
Die·CPU Performance Limit Reasons
33-40| 항목 | 내용 |
|---|---|
| What | /sys/kernel/debug/tpmi-<n>/plr/domain<n>/status |
| Date | 2024년 8월 |
| KernelVersion | 6.11 |
| Contact | Tero Kristo <tero.kristo@linux.intel.com> |
| Description | Die level과 die 아래의 개별 CPU에서 현재 active인 Performance Limit Reasons를 보여 줍니다. 이 파일의 내용은 sticky하며, 이 파일에 "0\n"을 쓰면 모든 status를 지울 수 있습니다. |
PFS가 feature 구조를 설명하고 각 TPMI ID의 MMIO를 점검하며 PLR domain은 die와 CPU의 sticky limit reason을 유지한다.
PM Feature Structure table
debugfs-tpmi:1-10pfs_dump는 각 power-management feature의 TPMI ID, entry count·size, offset·VSEC offset, lock·disabled status를 보여 줍니다.