Ändern der CPU-Affinität von MSI-X-Tabelleneinträgen

Miniporttreiber mit NDIS 6.1 und höher, die MSI-X unterstützen, können die Funktion NdisMConfigMSIXTableEntry aufrufen, um MSI-X-Tabelleneinträge zu maskieren, zu entlarken oder geräteseitig zugewiesenen MSI-X-Nachrichten zuzuordnen. Miniporttreiber, die RSS unterstützen, verwenden NdisMConfigMSIXTableEntry , um die CPU-Affinität von MSI-X-Tabelleneinträgen zur Laufzeit zu ändern.

NdisMConfigMSIXTableEntry ist ein Wrapper um die GUID_MSIX_TABLE_CONFIG_INTERFACE Abfrage. Miniport-Treiber können NdisMConfigMSIXTableEntry aufrufen, nachdem NDIS die MiniportInitializeEx-Funktion aufgerufen hat und bevor die Treiber von der MiniportHaltEx-Funktion zurückkehren.

Ein Miniporttreiber, der jeder RSS-Warteschlange einen MSI-X-Tabelleneintrag zuweist und weniger Warteschlangen als die Anzahl der RSS-Prozessoren aufweist, kann zusätzliche MSI-X-Nachrichtenressourcen in der MiniportFilterResourceRequirequirements-Funktion hinzufügen. Weitere Informationen zum Ändern zugewiesener Ressourcen für ein Gerät finden Sie unter MSI-X-Ressourcenfilterung.

Der Miniporttreiber kann die CPU-Affinität von MSI-X-Interruptressourcen so festlegen, dass das Gerät mindestens eine MSI-X-Nachricht für jeden RSS-Prozessor aufweist. Beachten Sie, dass der PCI-Bustreiber die n MSI-X-Tabelleneinträge (wobei n die Anzahl der MSI-X-Tabelleneinträge, die die NIC-Hardware an den Bus gemeldet hat) zunächst den ersten n MSI-X-Nachrichten in geänderten Ressourcen zuordnet. Nachdem NDIS MiniportInitializeEx aufgerufen hat, ruft der Treiber NdisMConfigMSIXTableEntry auf, wenn der Miniporttreiber den Zielprozessor eines bestimmten MSI-X-Tabelleneintrags ändert, um diesen Tabelleneintrag einer MSI-X-Nachricht zuzuordnen, in der bereits die Affinität zum gewünschten Prozessor festgelegt ist.