다음을 통해 공유


VMQ 인터럽트 요구 사항

VMQ(가상 머신 큐) 기능을 지원하는 미니포트 드라이버도 다음 인터럽트 할당 요구 사항을 지원해야 합니다.

  • 미니포트 드라이버는 MSI-X를 지원해야 합니다. 드라이버는 NDIS_RECEIVE_FILTER_CAPABILITIES 구조체의 SupportedQueueProperties 멤버에서 NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED 플래그를 설정해야 합니다.

    드라이버는 드라이버가 NdisMSetMiniportAttributes 함수를 호출할 때 사용하는 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체에서 이 구조를 반환합니다.

  • 미니포트 드라이버는 인터럽트 벡터를 할당하기 위한 프로세서 정보를 얻으려면 NdisGetRssProcessorInformation 함수를 호출해야 합니다. 인터럽트 할당을 위해 다른 원본에서 가져온 레지스트리 키 또는 정보에 의존해서는 안 됩니다.

    NdisGetRssProcessorInformation 은 미니포트 드라이버가 RSS 및 VMQ에 사용할 수 있는 프로세서 집합에 대한 정보를 반환합니다. 이 정보는 NDIS_RSS_PROCESSOR_INFO 구조에 포함되어 있습니다.

  • 미니포트 드라이버는 NDIS_RSS_PROCESSOR_INFO 구조에 지정된 각 프로세서에 대해 하나의 인터럽트 벡터만 할당해야 합니다.

    미니포트 드라이버는 패킷을 보내거나 받는 작업과 관련이 없는 다른 이벤트에 대해 두 개 이하의 인터럽트 벡터를 할당해야 합니다. 예를 들어 드라이버는 링크 상태 이벤트에 IDT를 할당할 수 있습니다.

  • 미니포트 드라이버는 다음 표에 정의된 대로 최소 MSI-X 인터럽트 벡터를 지원해야 합니다.

    큐 수 필요한 최소 MSI-X 인터럽트 벡터 수

    1–16

    1–16

    17–64

    16–32

    65개 이상

    32개 이상