← Interrupt 상세 목차DUJINLABS.COM

Hardware · Interrupt detailed manual 07 · Linux v6.18.37

7. RISC-V interrupt virtualization, ordering과 latency를 검증한다

VS interrupt file, guest index, IOMMU MSI translation, hart migration과 local interrupt priority를 포함해 물리 source부터 guest handler까지 지연과 소유권을 추적합니다.

상세 표
2
검증 행
14
절차
4 checkpoints
기준
RISC-V PLIC · AIA · Linux v6.18.37

CHAPTER 07

7. RISC-V interrupt virtualization, ordering과 latency를 검증한다

VS interrupt file, guest index, IOMMU MSI translation, hart migration과 local interrupt priority를 포함해 물리 source부터 guest handler까지 지연과 소유권을 추적합니다.

guest files

IMSIC은 hart마다 여러 VS interrupt file을 제공할 수 있습니다.

migration

vCPU 이동 시 guest file state와 device MSI target을 일관되게 바꿔야 합니다.

IOMMU

direct-assigned device MSI가 올바른 guest interrupt file로 변환되도록 translation과 권한이 필요합니다.

latency

source→APLIC/PLIC→hart trap→host/guest entry 각 구간을 따로 측정합니다.

레지스터·번호·소유권 대조

항목소유자값의 의미정상 증거오류 해석
hgeie/hgeiphart hypervisor CSRguest external pending/enableguest file index와 일치guest notification 차단
vstopeiVS interrupt fileguest top EIIDdevice vector와 일치wrong guest file
IMSIC guest baseplatform/IOMMUguest index별 MSI addressvCPU placement와 일치stale target
IOMMU MSI tableIOMMUdevice→guest file translationRequester/EIID map 정상fault/wrong VM
latency tracehost/guest각 entry timestamp조건별 상한 설명migration/idle tail

실패 경계 판정

증상직전 통과우선 확인반증 시험판정
host는 받고 guest는 못 받음physical interrupt 도착guest injection/file enablesoftware guest EIID 주입virtual delivery
vCPU migration 중 losssteady state 정상MSI target/file state 전환sequence count 반복migration race
다른 VM이 받음MSI bus writeIOMMU/guest indexRequester ID translation dump격리 오류
deep idle tail 증가기능 정상hart wake와 IMSIC deliveryidle state별 측정power latency
부하에서 priority inversion모든 interrupt 도착local priority/thresholdpriority class별 histogramhart arbitration
그림 1. 7. RISC-V interrupt virtualization, ordering과 latency를 검증한다의 실행 순서왼쪽에서 오른쪽으로 실제 소유권과 관찰 지점이 이동합니다.
01 device source
02 PLIC/APLIC/IMSIC
03 physical hart pending
04 HS trap
05 guest file/injection
06 VS trap
07 guest handler
08 completion

실제 검증 절차

순서실행남길 증거판정 목적
1physical source ID/EIID와 guest EIID/virq를 연결합니다.가상 번호 ledgertranslation 확인
2MSI translation과 IOMMU fault를 vCPU placement와 함께 저장합니다.target 증거격리 검증
3vCPU migration 중 sequence interrupt를 발생시킵니다.loss/duplicate 0state 이동
4host/guest entry timestamp로 구간별 max latency를 계산합니다.상한과 원인성능 검증

주의가상화 경로에서 평균 latency만 비교하면 migration 순간의 interrupt loss나 긴 tail을 놓칩니다.

공개적으로 다시 확인할 수 있는 자료

공개되지 않은 vendor register나 integration별 offset을 추측해서 채우지 않았습니다. 아래 제조사 자료, architecture 문서와 Linux v6.18.37 원본에서 다시 확인할 수 있는 범위만 사용했습니다.