Udostępnij przez


Wymagania dotyczące przerwań VMQ

Sterownik miniportu obsługujący funkcję kolejki maszyn wirtualnych (VMQ) musi również obsługiwać następujące wymagania dotyczące alokacji przerwań:

  • Sterownik miniportu musi obsługiwać MSI-X. Sterownik musi ustawić flagę NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED w elemencie SupportedQueueProperties struktury NDIS_RECEIVE_FILTER_CAPABILITIES .

    Sterownik zwraca tę strukturę w strukturze NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES używanej przez sterownik w wywołaniu funkcji NdisMSetMiniportAttributes .

  • Sterownik miniportu musi wywołać funkcję NdisGetRssProcessorInformation , aby uzyskać informacje o procesorze dla przydzielania wektorów przerwań. Nie może on polegać na kluczach rejestru ani informacjach uzyskanych z innych źródeł do alokacji przerwań.

    NdisGetRssProcessorInformation zwraca informacje o zestawie procesorów, których może używać sterownik miniportu dla funkcji RSS i VMQ. Te informacje znajdują się w strukturze NDIS_RSS_PROCESSOR_INFO .

  • Sterownik miniportu powinien przydzielić tylko jeden wektor przerwań dla każdego procesora określonego w strukturze NDIS_RSS_PROCESSOR_INFO .

    Sterownik miniportu powinien przydzielić nie więcej niż dwa wektory przerwań dla innych zdarzeń, które nie są związane z operacjami wysyłania lub odbierania pakietów. Na przykład sterownik może przydzielić IDT dla zdarzeń stanu łącza.

  • Sterownik miniportu musi obsługiwać minimalną liczbę wektorów przerwań MSI-X zgodnie z definicją w poniższej tabeli:

    Liczba kolejek Minimalna liczba wymaganych wektorów przerwań dla MSI-X

    1–16

    1–16

    17–64

    16–32

    65 lub więcej

    32 lub więcej