Linux Traffic Control: qdisc mq
Solution 1:
A google search would have easily yielded this article from the vger kernel mailing list:
These patches contain a classful multiqueue ("mq") dummy scheduler to fix a couple of problems with the current multiqueue TC API integration. The changelogs of patch 05 and 07 contain more details.
The mq scheduler does two things:
present device TX queues as classes, allowing to attach different qdiscs to them, which are grafted to the TX queues
present accumulated statistics of all device queue root qdiscs
Its used by default for multiqueue devices instead of the regular pfifo_fast qdisc, but can also be attached manually to restore multiqueue behaviour after attaching a non-multiqueue (shared) qdisc.
Multiqueue is a feature is otherwise referenced as RSS (Receive-Side-Scaling) which basically is distributing the load of packet processing among several cores. Further reading: https://elixir.bootlin.com/linux/latest/source/Documentation/networking/scaling.rst