Partilhar via


Alterando a afinidade de CPU de entradas de tabela MSI-X

O NDIS 6.1 e os drivers de miniporto posteriores que dão suporte ao MSI-X podem chamar a função NdisMConfigMSIXTableEntry para mascarar, desmascarar ou mapear entradas de tabela MSI-X para mensagens MSI-X atribuídas pelo dispositivo. Os drivers de miniport que dão suporte ao RSS usam NdisMConfigMSIXTableEntry para alterar a afinidade de CPU das entradas da tabela MSI-X em tempo de execução.

NdisMConfigMSIXTableEntry é um wrapper em torno da consulta GUID_MSIX_TABLE_CONFIG_INTERFACE . Os drivers de miniport podem chamar NdisMConfigMSIXTableEntry depois que o NDIS chama a função MiniportInitializeEx e antes que os drivers retornem da função MiniportHaltEx .

Um driver de miniporto que atribui uma entrada de tabela MSI-X para cada fila RSS e tem menos filas do que o número de processadores RSS pode adicionar recursos de mensagem MSI-X adicionais na função MiniportFilterResourceRequirements . Para obter mais informações sobre como modificar recursos atribuídos para um dispositivo, consulte Filtragem de recursos MSI-X.

O driver de miniporto pode definir a afinidade de CPU dos recursos de interrupção MSI-X para que o dispositivo tenha pelo menos uma mensagem MSI-X para cada processador RSS. Observe que o driver de barramento PCI mapeia inicialmente as entradas de tabela n MSI-X (em que n é o número de entradas de tabela MSI-X que o hardware NIC relatou ao barramento) para as primeiras n mensagens MSI-X em recursos modificados. Depois que o NDIS chama MiniportInitializeEx, quando o driver de miniporto altera o processador de destino de uma determinada entrada de tabela MSI-X, o driver chama NdisMConfigMSIXTableEntry para mapear essa entrada de tabela para uma mensagem MSI-X que já tem a afinidade definida para o processador desejado.