Thread (9 messages) 9 messages, 5 authors, 2015-12-05

Re: [PATCH net-next v2 4/4] net: mvneta: Spread out the TX queues management on all CPUs

From: David Miller <davem@davemloft.net>
Date: 2015-12-05 22:24:44
Also in: linux-arm-kernel, lkml

From: Marcin Wojtas <redacted>
Date: Sat, 5 Dec 2015 20:14:31 +0100
Hi Gregory,
quoted
@@ -1824,13 +1835,16 @@ error:
 static int mvneta_tx(struct sk_buff *skb, struct net_device *dev)
 {
        struct mvneta_port *pp = netdev_priv(dev);
-       u16 txq_id = skb_get_queue_mapping(skb);
+       u16 txq_id = smp_processor_id() % txq_number;
I think it may be ok to bind TXQs to different CPUs, but I don't think
that replacing skb_get_queue_mapping by in fact smp_processor_id() is
the best idea. This way you use only 2 TXQs on A385 and 4 TXQs on AXP.
There are HW mechanisms like WRR or EJP that provide balancing for
egress, so let's better keep all 8.
Also it is possible for other parts of the stack to set the SKB queue
mapping and you must respect that setting rather than override it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help