bnx2x: use XPS if possible for bnx2x_select_queue instead of pure hash
The bnx2x_select_queue() was using __skb_tx_hash() to select the transmit queue, totally ignoring XPS settings, while XPS can help performance quite significantly, so change the bnx2x_select_queue() to use __dev_pick_tx() instead which will use XPS if configured. Based on patches from Ying Cai and Havard Skinnemoen Reported-by: govindarajulu.v <govindarajulu90@gmail.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Havard Skinnemoen <hskinnemoen@google.com> Cc: Ying Cai <ycai@google.com> Cc: Eilon Greenstein <eilong@broadcom.com> Acked-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									e69972f52b
								
							
						
					
					
						commit
						ada7c19e6d
					
				| @ -1829,7 +1829,7 @@ u16 bnx2x_select_queue(struct net_device *dev, struct sk_buff *skb) | ||||
| 	} | ||||
| 
 | ||||
| 	/* select a non-FCoE queue */ | ||||
| 	return __skb_tx_hash(dev, skb, BNX2X_NUM_ETH_QUEUES(bp)); | ||||
| 	return __netdev_pick_tx(dev, skb) % BNX2X_NUM_ETH_QUEUES(bp); | ||||
| } | ||||
| 
 | ||||
| void bnx2x_set_num_queues(struct bnx2x *bp) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user