Que qdisc é controlado através do tc
comando versus sysctl net.core.default_qdisc
? Considerar
$ tc qdisc show dev eth2
qdisc mq 0: dev eth2 root
$ sysctl net.core.default_qdisc
net.core.default_qdisc = pfifo_fast
Neste sistema, o qdisc padrão é definido como pfifo_fast , mas o qdisc em uso é mq (Multi-queue) após uma reinicialização. É bastante óbvio que eles não estão diretamente relacionados, ou pelo menos não de uma maneira que faça sentido "fora da caixa". Este link sobre enfileiramento na pilha de rede do Linux deixa claro que tc qdisc ...
se aplica à fila que fica entre a pilha de IP e a fila de drivers.
Alguém pode desambiguar esses dois para mim?
O agendador multifila ("mq") permite que o kernel do Linux suporte um recurso chamado Receive-Side-Scaling (RSS), em que a carga para processamento de pacotes é distribuída em vários núcleos de CPU.
No meu sistema Ubuntu 18.04.1 Desktop com net.core.default_qdisc definido como pfifo_fast e executo o seguinte comando:
Isto é o que é saída:
O planejador mq configurou duas filas pfifo_fast no dispositivo eth0 por padrão.
Espero que isso esclareça as coisas.