Si entiendo RSS (Receive Side Scaling) correctamente, las combinaciones de puerto IP+src/dst de los paquetes UDP y TCP entrantes se procesan y el paquete se distribuye en las colas RSS disponibles usando ese valor hash, usando algún mapeo como hashCode modulo numQueues
: los detalles de los cuales, de hecho, no son cruciales para esta pregunta.
Los paquetes de una cola RSS siempre serán procesados por el mismo núcleo. En otras palabras, una cola significaría que sólo un núcleo procesa los paquetes. Esto suena como deshabilitar RSS, cuyo propósito es distribuir el procesamiento de paquetes en el kernel a múltiples núcleos. Pero hay otras formas de desactivar RSS, en el mismo cuadro de diálogo de configuración de NIC o mediante netsh
.
Entonces, ¿para qué sirve esa configuración que he visto en la configuración de NIC de los adaptadores Intel y AT?
Fwiw, en las pruebas de pérdida de paquetes UDP que estoy realizando ahora, RSSQueues=1 mostró aproximadamente las mismas tasas de pérdida de paquetes que desactivar RSS por completo. Por el contrario, establecer RSSQueues=2 permitió tasas de pérdida de paquetes considerablemente más bajas.