mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 14:48:06 +00:00
netdevice: move netdev_cap_txqueue for shared usage to header
In order to allow users to invoke netdev_cap_txqueue, it needs to be moved into netdevice.h header file. While at it, also add kernel doc header to document the API. Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
99932d4fc0
commit
b9507bdaf4
2 changed files with 21 additions and 12 deletions
|
@ -2278,6 +2278,26 @@ static inline void netdev_reset_queue(struct net_device *dev_queue)
|
||||||
netdev_tx_reset_queue(netdev_get_tx_queue(dev_queue, 0));
|
netdev_tx_reset_queue(netdev_get_tx_queue(dev_queue, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* netdev_cap_txqueue - check if selected tx queue exceeds device queues
|
||||||
|
* @dev: network device
|
||||||
|
* @queue_index: given tx queue index
|
||||||
|
*
|
||||||
|
* Returns 0 if given tx queue index >= number of device tx queues,
|
||||||
|
* otherwise returns the originally passed tx queue index.
|
||||||
|
*/
|
||||||
|
static inline u16 netdev_cap_txqueue(struct net_device *dev, u16 queue_index)
|
||||||
|
{
|
||||||
|
if (unlikely(queue_index >= dev->real_num_tx_queues)) {
|
||||||
|
net_warn_ratelimited("%s selects TX queue %d, but real number of TX queues is %d\n",
|
||||||
|
dev->name, queue_index,
|
||||||
|
dev->real_num_tx_queues);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return queue_index;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* netif_running - test if up
|
* netif_running - test if up
|
||||||
* @dev: network device
|
* @dev: network device
|
||||||
|
|
|
@ -323,17 +323,6 @@ u32 __skb_get_poff(const struct sk_buff *skb)
|
||||||
return poff;
|
return poff;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline u16 dev_cap_txqueue(struct net_device *dev, u16 queue_index)
|
|
||||||
{
|
|
||||||
if (unlikely(queue_index >= dev->real_num_tx_queues)) {
|
|
||||||
net_warn_ratelimited("%s selects TX queue %d, but real number of TX queues is %d\n",
|
|
||||||
dev->name, queue_index,
|
|
||||||
dev->real_num_tx_queues);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return queue_index;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int get_xps_queue(struct net_device *dev, struct sk_buff *skb)
|
static inline int get_xps_queue(struct net_device *dev, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_XPS
|
#ifdef CONFIG_XPS
|
||||||
|
@ -408,7 +397,7 @@ struct netdev_queue *netdev_pick_tx(struct net_device *dev,
|
||||||
queue_index = __netdev_pick_tx(dev, skb);
|
queue_index = __netdev_pick_tx(dev, skb);
|
||||||
|
|
||||||
if (!accel_priv)
|
if (!accel_priv)
|
||||||
queue_index = dev_cap_txqueue(dev, queue_index);
|
queue_index = netdev_cap_txqueue(dev, queue_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
skb_set_queue_mapping(skb, queue_index);
|
skb_set_queue_mapping(skb, queue_index);
|
||||||
|
|
Loading…
Add table
Reference in a new issue