Messages in this thread | | | Date | Sat, 05 Dec 2015 17:24:37 -0500 (EST) | Subject | Re: [PATCH net-next v2 4/4] net: mvneta: Spread out the TX queues management on all CPUs | From | David Miller <> |
| |
From: Marcin Wojtas <mw@semihalf.com> Date: Sat, 5 Dec 2015 20:14:31 +0100
> Hi Gregory, > >> @@ -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.
| |