Message ID | 1370046775.24311.16.camel@edumazet-glaptop |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
> -----Original Message----- > From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On Behalf Of Eric Dumazet > Sent: Saturday, June 01, 2013 3:33 AM > To: David Miller > Cc: netdev; govindarajulu.v; Havard Skinnemoen; Eilon Greenstein > Subject: [PATCH net-next] bnx2x: use XPS if possible for bnx2x_select_queue instead of pure hash > > From: Eric Dumazet <edumazet@google.com> > > 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> > --- > drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c > index c80f1d2..3651f6d 100644 > --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c > +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c > @@ -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) Acked-by: Dmitry Kravkov <dmitry@broadcom.com>
From: "Dmitry Kravkov" <dmitry@broadcom.com> Date: Sat, 1 Jun 2013 11:27:40 +0000 >> 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> ... > Acked-by: Dmitry Kravkov <dmitry@broadcom.com> Applied, thanks everyone. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index c80f1d2..3651f6d 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c @@ -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)