Commit 16917b87 authored by Yuval Mintz's avatar Yuval Mintz Committed by David S. Miller

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: default avatarYuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bf5e53e3
...@@ -2119,6 +2119,9 @@ static inline int netif_copy_real_num_queues(struct net_device *to_dev, ...@@ -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) ...@@ -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;
......
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