更改 MSI-X 表项的 CPU 关联

支持 MSI-X 的 NDIS 6.1 及更高版本的微型端口驱动程序可以调用 NdisMConfigMSIXTableEntry 函数,以屏蔽、取消屏蔽 MSI-X 表条目或将 MSI-X 表条目映射到设备分配的 MSI-X 消息。 支持 RSS 的微型端口驱动程序使用 NdisMConfigMSIXTableEntry 在运行时更改 MSI-X 表条目的 CPU 相关性。

NdisMConfigMSIXTableEntryGUID_MSIX_TABLE_CONFIG_INTERFACE 查询的包装器。 微型端口驱动程序可以在 NDIS 调用 MiniportInitializeEx 函数之后以及驱动程序从 MiniportHaltEx 函数返回之前调用 NdisMConfigMSIXTableEntry

为每个 RSS 队列分配 MSI-X 表条目且队列数少于 RSS 处理器数量的微型端口驱动程序可以在 MiniportFilterResourceRequirements 函数中添加其他 MSI-X 消息资源。 有关如何修改设备分配的资源的详细信息,请参阅 MSI-X 资源筛选

微型端口驱动程序可以设置 MSI-X 中断资源的 CPU 相关性,以便设备为每个 RSS 处理器提供至少一条 MSI-X 消息。 请注意,PCI 总线驱动程序最初映射 n MSI-X 表条目 (其中 n 是 NIC 硬件向总线报告的 MSI-X 表条目数,) 修改资源中的前 n 个 MSI-X 消息。 在 NDIS 调用 MiniportInitializeEx 后,当微型端口驱动程序更改特定 MSI-X 表条目的目标处理器时,驱动程序将调用 NdisMConfigMSIXTableEntry ,以将表条目映射到已将相关性设置为所需处理器的 MSI-X 消息。