Condividi tramite


Modifica dell'affinità della CPU delle voci di tabella MSI-X

I driver miniport NDIS 6.1 e versioni successive che supportano MSI-X possono chiamare la funzione NdisMConfigMSIXTableEntry per mascherare, smascherare o mappare le voci di tabella MSI-X ai messaggi MSI-X assegnati al dispositivo. I driver Miniport che supportano RSS Usano NdisMConfigMSIXTableEntry per modificare l'affinità CPU delle voci di tabella MSI-X in fase di esecuzione.

NdisMConfigMSIXTableEntry è un wrapper intorno alla query GUID_MSIX_TABLE_CONFIG_INTERFACE . I driver Miniport possono chiamare NdisMConfigMSIXTableEntry dopo che NDIS chiama la funzione MiniportInitializeEx e prima che i driver vengano restituiti dalla funzione MiniportHaltEx .

Un driver miniport che assegna una voce di tabella MSI-X per ogni coda RSS e ha meno code rispetto al numero di processori RSS può aggiungere altre risorse del messaggio MSI-X nella funzione MiniportFilterResourceRequirements . Per altre informazioni su come modificare le risorse assegnate per un dispositivo, vedere Filtro risorse MSI-X.

Il driver miniport può impostare l'affinità CPU delle risorse di interruzione MSI-X in modo che il dispositivo abbia almeno un messaggio MSI-X per ogni processore RSS. Si noti che il driver del bus PCI esegue inizialmente il mapping delle voci di tabella MSI-X (dove n è il numero di voci di tabella MSI-X segnalate dall'hardware della scheda di interfaccia di rete al bus) ai primi n messaggi MSI-X nelle risorse modificate. Dopo che NDIS chiama MiniportInitializeEx, quando il driver miniport modifica il processore di destinazione di una determinata voce di tabella MSI-X, il driver chiama NdisMConfigMSIXTableEntry per eseguire il mapping di tale voce di tabella a un messaggio MSI-X che ha già l'affinità impostata sul processore desiderato.