Поделиться через


Изменение сопоставления ЦП для записей таблицы MSI-X

Драйверы минипорта NDIS 6.1 и более поздних версий, поддерживающие MSI-X, могут вызывать функцию NdisMConfigMSIXTableEntry для маскирования, расмаскирования или сопоставления записей таблицы MSI-X с сообщениями MSI-X, назначаемыми устройством. Драйверы miniport, поддерживающие RSS, используют NdisMConfigMSIXTableEntry для изменения сходства ЦП записей таблицы MSI-X во время выполнения.

NdisMConfigMSIXTableEntry — это оболочка для GUID_MSIX_TABLE_CONFIG_INTERFACE запроса. Драйверы Miniport могут вызывать NdisMConfigMSIXTableEntry после вызова NDIS функции MiniportInitializeEx и перед возвратом драйверов из функции MiniportHaltEx .

Драйвер мини-порта, который назначает запись таблицы MSI-X для каждой очереди RSS и имеет меньше очередей, чем число процессоров RSS, может добавить дополнительные ресурсы сообщений MSI-X в функцию MiniportFilterResourceRequirements . Дополнительные сведения об изменении назначенных ресурсов для устройства см. в разделе Фильтрация ресурсов MSI-X.

Драйвер мини-порта может задать сходство ЦП для ресурсов прерываний MSI-X, чтобы устройство было по крайней мере одно сообщение MSI-X для каждого обработчика RSS. Обратите внимание, что драйвер шины PCI изначально сопоставляет n записей таблицы MSI-X (где n — это количество записей таблицы MSI-X, о которых оборудование сетевой карты сообщило шине) с первыми n сообщений MSI-X в измененных ресурсах. После того как NDIS вызывает MiniportInitializeEx, когда драйвер мини-порта изменяет целевой процессор определенной записи таблицы MSI-X, драйвер вызывает NdisMConfigMSIXTableEntry , чтобы сопоставить запись таблицы с сообщением MSI-X, которое уже имеет сходство с нужным процессором.