다음을 통해 공유


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

추가 정보