Commit 1b837d48 authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller

net: Revoke export for __skb_tx_hash, update it to just be static skb_tx_hash

I am dropping the export of __skb_tx_hash as after my patches nobody is
using it outside of the net/core/dev.c file. In addition I am renaming and
repurposing it to just be a static declaration of skb_tx_hash since that
was the only user for it at this point. By doing this the compiler can
inline it into __netdev_pick_tx as that will improve performance.
Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b86629eb
...@@ -3213,19 +3213,6 @@ static inline int netif_set_xps_queue(struct net_device *dev, ...@@ -3213,19 +3213,6 @@ static inline int netif_set_xps_queue(struct net_device *dev,
} }
#endif #endif
u16 __skb_tx_hash(const struct net_device *dev, struct sk_buff *skb,
unsigned int num_tx_queues);
/*
* Returns a Tx hash for the given packet when dev->real_num_tx_queues is used
* as a distribution range limit for the returned value.
*/
static inline u16 skb_tx_hash(const struct net_device *dev,
struct sk_buff *skb)
{
return __skb_tx_hash(dev, skb, dev->real_num_tx_queues);
}
/** /**
* netif_is_multiqueue - test if device has multiple transmit queues * netif_is_multiqueue - test if device has multiple transmit queues
* @dev: network device * @dev: network device
......
...@@ -2615,17 +2615,16 @@ EXPORT_SYMBOL(netif_device_attach); ...@@ -2615,17 +2615,16 @@ EXPORT_SYMBOL(netif_device_attach);
* Returns a Tx hash based on the given packet descriptor a Tx queues' number * Returns a Tx hash based on the given packet descriptor a Tx queues' number
* to be used as a distribution range. * to be used as a distribution range.
*/ */
u16 __skb_tx_hash(const struct net_device *dev, struct sk_buff *skb, static u16 skb_tx_hash(const struct net_device *dev, struct sk_buff *skb)
unsigned int num_tx_queues)
{ {
u32 hash; u32 hash;
u16 qoffset = 0; u16 qoffset = 0;
u16 qcount = num_tx_queues; u16 qcount = dev->real_num_tx_queues;
if (skb_rx_queue_recorded(skb)) { if (skb_rx_queue_recorded(skb)) {
hash = skb_get_rx_queue(skb); hash = skb_get_rx_queue(skb);
while (unlikely(hash >= num_tx_queues)) while (unlikely(hash >= qcount))
hash -= num_tx_queues; hash -= qcount;
return hash; return hash;
} }
...@@ -2638,7 +2637,6 @@ u16 __skb_tx_hash(const struct net_device *dev, struct sk_buff *skb, ...@@ -2638,7 +2637,6 @@ u16 __skb_tx_hash(const struct net_device *dev, struct sk_buff *skb,
return (u16) reciprocal_scale(skb_get_hash(skb), qcount) + qoffset; return (u16) reciprocal_scale(skb_get_hash(skb), qcount) + qoffset;
} }
EXPORT_SYMBOL(__skb_tx_hash);
static void skb_warn_bad_offload(const struct sk_buff *skb) static void skb_warn_bad_offload(const struct sk_buff *skb)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment