Se eu entendi RSS (Receive Side Scaling) corretamente, os combos src/dst IP+port de pacotes UDP e TCP recebidos são hash, e o pacote é distribuído nas filas RSS disponíveis usando esse valor de hash, usando algum mapeamento como hashCode modulo numQueues
- os detalhes dos quais na verdade não são cruciais para esta questão.
Os pacotes de uma fila RSS sempre seriam processados pelo mesmo núcleo. Em outras palavras, uma fila significaria que apenas um núcleo processa os pacotes. Isso soa como desabilitar o RSS, cujo objetivo é distribuir o processamento de pacotes no kernel para vários núcleos. Mas existem outras maneiras de desabilitar o RSS, na mesma caixa de diálogo de configurações da NIC ou via netsh
.
Então, para que serve essa configuração, que vi nas configurações de NIC dos adaptadores Intel e AT?
Fwiw, nos testes de perda de pacotes UDP que estou realizando agora, RSSQueues=1 mostrou aproximadamente as mesmas taxas de perda de pacotes que desligar completamente o RSS. A configuração de RSSQueues=2, por outro lado, permitiu taxas de perda de pacotes consideravelmente mais baixas.