net: Add functions netif_reset_xps_queue and netif_set_xps_queue
This patch adds two functions, netif_reset_xps_queue and netif_set_xps_queue. The main idea behind these two functions is to provide a mechanism through which drivers can update their defaults in regards to XPS. Currently no such mechanism exists and as a result we cannot use XPS for things such as ATR which would require a basic configuration to start in which the Tx queues are mapped to CPUs via a 1:1 mapping. With this change I am making it possible for drivers such as ixgbe to be able to use the XPS feature by controlling the default configuration. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
416186fbf8
commit
537c00de1c
@@ -2103,6 +2103,19 @@ static inline void netif_wake_subqueue(struct net_device *dev, u16 queue_index)
|
||||
__netif_schedule(txq->qdisc);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_XPS
|
||||
extern void netif_reset_xps_queue(struct net_device *dev, u16 index);
|
||||
extern int netif_set_xps_queue(struct net_device *dev, struct cpumask *mask,
|
||||
u16 index);
|
||||
#else
|
||||
static inline int netif_set_xps_queue(struct net_device *dev,
|
||||
struct cpumask *mask,
|
||||
u16 index)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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.
|
||||
|
Reference in New Issue
Block a user