요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
===============================================================
Configurable sysfs parameters for the x86-64 machine check code
===============================================================
Machine checks report internal hardware error conditions detected
by the CPU. Uncorrected errors typically cause a machine check
(often with panic), corrected ones cause a machine check log entry.
Machine checks are organized in banks (normally associated with
a hardware subsystem) and subevents in a bank. The exact meaning
of the banks and subevent is CPU specific.
mcelog knows how to decode them.
When you see the "Machine check errors logged" message in the system
log then mcelog should run to collect and decode machine check entries
from /dev/mcelog. Normally mcelog should be run regularly from a cronjob.
Each CPU has a directory in /sys/devices/system/machinecheck/machinecheckN
(N = CPU number).
The directory contains some configurable entries. See
Documentation/ABI/testing/sysfs-mce for more details.
TBD document entries for AMD threshold interrupt configuration
For more details about the x86 machine check architecture
see the Intel and AMD architecture manuals from their developer websites.
For more details about the architecture
see http://one.firstfloor.org/~andi/mce.pdf
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
machine check와 bank
1-16이 문서는 `SPDX-License-Identifier: GPL-2.0`으로 배포되며 x86-64 machine-check code의 configurable sysfs parameter를 다룹니다.
machine check는 CPU가 감지한 internal hardware error condition을 보고합니다. uncorrected error는 보통 machine check를 일으키며 흔히 panic으로 이어지고, corrected error는 machine-check log entry를 만듭니다.
machine check는 보통 hardware subsystem에 연결된 bank와 bank 안의 subevent로 구성됩니다. bank와 subevent의 정확한 의미는 CPU-specific입니다. `mcelog`는 이를 decode하는 방법을 알고 있습니다.
mcelog 수집과 per-CPU sysfs
17-26system log에 `Machine check errors logged` message가 나타나면 `mcelog`를 실행해 `/dev/mcelog`에서 machine-check entry를 수집하고 decode해야 합니다. 일반적으로 cronjob에서 `mcelog`를 주기적으로 실행해야 합니다.
각 CPU에는 `/sys/devices/system/machinecheck/machinecheckN` directory가 있으며 `N`은 CPU number입니다. 이 directory에는 configurable entry가 들어 있습니다. 자세한 내용은 `Documentation/ABI/testing/sysfs-mce`를 참고하십시오.
AMD threshold와 architecture 참고 자료
27-33AMD threshold interrupt configuration entry에 대한 문서화는 아직 남아 있습니다.
x86 machine-check architecture의 자세한 내용은 Intel과 AMD developer website의 architecture manual을 참고하십시오. 추가 architecture 자료는 http://one.firstfloor.org/~andi/mce.pdf 에 있습니다.
요약과 해설
machinecheck.rst:1-33CPU hardware error는 bank와 subevent로 보고되며 corrected error는 log entry, uncorrected error는 machine check와 panic을 일으킬 수 있습니다.
`mcelog`가 `/dev/mcelog` entry를 decode하며 per-CPU configuration은 `/sys/devices/system/machinecheck/machinecheckN`에서 제공합니다.