Re: Modification to skb->queue_mapping affecting performance
flat view
From: Eric Dumazet <hidden>
Date: 2016-09-14 01:18:40
On Tue, 2016-09-13 at 17:23 -0700, Michael Ma wrote:
If I understand correctly this is still to associate a qdisc with each ifb TXQ. How should I do this if I want to use HTB? I guess I'll need to divide the bandwidth of each class in HTB by the number of TX queues for each individual HTB qdisc associated? My original idea was to attach a HTB qdisc for each ifb queue representing a set of flows not sharing bandwidth with others so that root lock contention still happens but only affects flows in the same HTB. Did I understand the root lock contention issue incorrectly for ifb? I do see some comments in __dev_queue_xmit() about using a different code path for software devices which bypasses __dev_xmit_skb(). Does this mean ifb won't go through __dev_xmit_skb()?
You can install HTB on all of your MQ children for sure. Again, there is no qdisc lock contention if you properly use MQ. Now if you _need_ to install a single qdisc for whatever reason, then maybe you want to use a single rx queue on the NIC, to reduce lock contention ;)