Linux 流量控制: qdisc mq

Linux 流量控制: qdisc mq

在我的 Linux 系统上我看到了这个:

# ip link list
....
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
....

是什么qdisc mq?在http://lartc.org/lartc.html我只找到有关 IMQ 的信息。

本指南的示例中也有qdisc noopqdisc noqueue,但没有关于它们的详细信息。

答案1

谷歌搜索很容易就能找到本文来自 vger 内核邮件列表

这些补丁包含一个有类多队列(“mq”)虚拟调度程序,用于修复当前多队列 TC API 集成的几个问题。补丁 05 和 07 的变更日志包含更多详细信息。

mq 调度程序做两件事:

  • 将设备 TX 队列作为类呈现,允许将不同的 qdisc 附加到它们,这些 qdisc 被嫁接到 TX 队列

  • 当前所有设备队列根 qdiscs 的累计统计信息

它默认用于多队列设备,而不是常规的 pfifo_fast qdisc,但也可以在附加非多队列(共享)qdisc 后手动附加以恢复多队列行为。

多队列是一种功能,也称为 RSS(接收方扩展),它基本上是在多个核心之间分配数据包处理的负载。进一步阅读:https://elixir.bootlin.com/linux/latest/source/Documentation/networking/scaling.rst

相关内容