<p dir="ltr">In CPUs, 4-way is now common in first-level caches, 16-way at last-level.  It is a tradeoff between guaranteed hit latency (necessary in synchronous hardware) and collision rate.  In software, average hit latency is usually more relevant, and worst-case throughput otherwise.</p>
<p dir="ltr">IMHO, having a separate qdisc tree per hardware queue is the wrong design.  Better would be a single qdisc (or tree thereof) that can be drained concurrently into all queues.  That currently seems to be easiest to arrange by putting the qdiscs in userspace, but theoretically that need not be so.</p>
<p dir="ltr"> - Jonathan Morton<br>
</p>