인터럽트 조정

인터럽트 수를 줄이기 위해 많은 NIC는 인터럽트 조정을 사용합니다. 인터럽트 조정을 사용하면 NIC 하드웨어는 패킷을 받은 직후 인터럽트를 생성하지 않습니다. 대신 하드웨어는 인터럽트를 생성하기 전에 더 많은 패킷이 도착할 때까지 기다리거나 제한 시간이 만료될 때까지 기다립니다. 하드웨어 공급업체는 최대 패킷 수, 시간 제한 간격 또는 기타 인터럽트 조정 알고리즘을 지정합니다.

패킷에 대해 측정된 왕복 시간은 두 엔드포인트 간의 네트워크 대역폭을 결정하는 데 가장 일반적으로 사용되는 기술 중 하나입니다. 그러나 인터럽트 조정을 사용하도록 설정하면 패킷을 수신해도 즉각적인 인터럽트를 생성하지 않으므로 특정 패킷에 대해 인식된 왕복 시간이 평균 시간보다 커집니다. 패킷에 대한 왕복 시간을 정확하게 측정할 수 있도록 NDIS는 요청 시 인터럽트 조정을 사용하지 않도록 설정하고 사용하도록 설정하는 기능을 제공합니다.

모든 NDIS 6.0 이상 미니포트 드라이버는 OID_GEN_INTERRUPT_MODERATION OID를 지원해야 합니다. 미니포트 드라이버가 인터럽트 조정을 지원하지 않는 경우 드라이버는 NDIS_INTERRUPT_MODERATION_PARAMETERS 구조체의 InterruptModeration 멤버에서 NdisInterruptModerationNotSupported를 지정해야 합니다.

NDIS 6.0 이상 미니포트 드라이버는 OID_GEN_INTERRUPT_MODERATION OID 집합 및 쿼리 요청을 모두 지원해야 합니다. set 요청은 미니포트 드라이버가 인터럽트 조정을 사용하거나 사용하지 않도록 지시하고 쿼리 요청은 인터럽트 조정의 현재 상태를 보고합니다.

레지스트리의 InterruptModeration 표준 키워드(keyword) 사용하지 않도록 설정하지 않는 한 인터럽트 조정을 지원하는 미니포트 드라이버는 기본적으로 이 기능을 켜야 합니다. 표준 키워드에 대한 자세한 내용은 네트워크 디바이스에 대한 표준화된 INF 키워드를 참조하세요.