NVME_CDW11_FEATURE_INTERRUPT_COALESCING 공용 구조체(nvme.h)
인터럽트 병합 설정을 구성하는 인터럽트 병합 기능에 대한 매개 변수를 포함합니다.
이 구조체의 값은 NVME_CDW11_FEATURES 구조체의 InterruptCoalescing 필드에 사용됩니다.
구문
typedef union {
struct {
ULONG THR : 8;
ULONG TIME : 8;
ULONG Reserved0 : 16;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CDW11_FEATURE_INTERRUPT_COALESCING, *PNVME_CDW11_FEATURE_INTERRUPT_COALESCING;
멤버
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.THR
호스트에 인터럽트를 알리기 전에 인터럽트 벡터당 집계할 권장되는 최소 완료 큐 항목 수를 나타냅니다. 0의 기반 값입니다. 이 설정의 다시 설정 값은 입니다 0h
.
DUMMYSTRUCTNAME.TIME
컨트롤러가 인터럽트 병합으로 인해 인터럽트를 지연할 수 있는 권장 최대 시간(100 마이크로초 단위)을 나타냅니다. 값은 0h
지연 없이 에 해당합니다. 컨트롤러는 인터럽트 벡터당 또는 모든 인터럽트 벡터에 이 시간을 적용할 수 있습니다. 이 설정의 다시 설정 값은 입니다 0h
.
DUMMYSTRUCTNAME.Reserved0
AsUlong
설명
컨트롤러는 집계 시간(TIME) 또는 THR(집계 임계값) 조건이 충족될 때 인터럽트 신호를 보냅니다.
TIME 또는 THR 필드가 로 지워0h
지면 인터럽트 병합이 암시적으로 비활성화됩니다.
인터럽트 병합 기능은 컨트롤러가 핀 기반, MSI, 다중 MSI 또는 MSI-X 인터럽트용으로 구성된 경우에 유효합니다. 인터럽트 모드가 변경된 경우 컨트롤러가 이러한 설정을 유지할 필요가 없습니다. 호스트는 인터럽트 모드를 변경한 후 이 기능을 다시 발급하는 것이 좋습니다.
컨트롤러는 이 벡터에 대해 인터럽트를 이미 처리하고 있음을 감지하는 경우 인터럽트를 지연할 수 있습니다. 특히 특정 인터럽트 벡터와 연결된 완료 큐 헤드 도어벨 레지스터가 업데이트되는 경우 컨트롤러는 완료 큐 항목이 이미 처리되고 있음을 긍정적으로 나타냅니다. 이 경우 연결된 레지스터 쓰기 시 집계 시간 및/또는 집계 임계값을 다시 설정/다시 시작할 수 있습니다. 이로 인해 집계 시간 또는 집계 임계값이 0이 아닌 특정 워크로드에서 중단이 무기한 지연될 수 있습니다.
인터럽트 병합 기능은 I/O 제출 및 I/O 완료 큐에만 적용됩니다. 오류로 완료된 명령에 대한 인터럽트는 병합하면 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 |
머리글 | nvme.h |