mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
net-next: Add netif_get_num_default_rss_queues
Most multi-queue networking driver consider the number of online cpus when configuring RSS queues. This patch adds a wrapper to the number of cpus, setting an upper limit on the number of cpus a driver should consider (by default) when allocating resources for his queues. Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bf5e53e371
commit
16917b87a2
2 changed files with 14 additions and 0 deletions
|
@ -2119,6 +2119,9 @@ static inline int netif_copy_real_num_queues(struct net_device *to_dev,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define DEFAULT_MAX_NUM_RSS_QUEUES (8)
|
||||||
|
extern int netif_get_num_default_rss_queues(void);
|
||||||
|
|
||||||
/* Use this variant when it is known for sure that it
|
/* Use this variant when it is known for sure that it
|
||||||
* is executing from hardware interrupt context or with hardware interrupts
|
* is executing from hardware interrupt context or with hardware interrupts
|
||||||
* disabled.
|
* disabled.
|
||||||
|
|
|
@ -1793,6 +1793,17 @@ int netif_set_real_num_rx_queues(struct net_device *dev, unsigned int rxq)
|
||||||
EXPORT_SYMBOL(netif_set_real_num_rx_queues);
|
EXPORT_SYMBOL(netif_set_real_num_rx_queues);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* netif_get_num_default_rss_queues - default number of RSS queues
|
||||||
|
*
|
||||||
|
* This routine should set an upper limit on the number of RSS queues
|
||||||
|
* used by default by multiqueue devices.
|
||||||
|
*/
|
||||||
|
int netif_get_num_default_rss_queues()
|
||||||
|
{
|
||||||
|
return min_t(int, DEFAULT_MAX_NUM_RSS_QUEUES, num_online_cpus());
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(netif_get_num_default_rss_queues);
|
||||||
|
|
||||||
static inline void __netif_reschedule(struct Qdisc *q)
|
static inline void __netif_reschedule(struct Qdisc *q)
|
||||||
{
|
{
|
||||||
struct softnet_data *sd;
|
struct softnet_data *sd;
|
||||||
|
|
Loading…
Add table
Reference in a new issue