Commit bf051a3b authored by Jesse Brandeburg's avatar Jesse Brandeburg Committed by Jeff Kirsher

i40e: use same number of queues as CPUs

The current driver default sets the number of transmit/receive
queue pairs based on the current node's CPU count.

A better method is to use the total number of CPUs in the system
to suggest the number of queue pairs, which aligns better with
the behavior of ixgbe, and also with the expectations of the
kernel XPS and other subsystems in the stack.

Change-Id: If3e20c7f100f13e51d69762594d948f247ffe0c8
Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: default avatarKavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 895106a5
...@@ -5401,7 +5401,7 @@ static int i40e_init_msix(struct i40e_pf *pf) ...@@ -5401,7 +5401,7 @@ static int i40e_init_msix(struct i40e_pf *pf)
/* The number of vectors we'll request will be comprised of: /* The number of vectors we'll request will be comprised of:
* - Add 1 for "other" cause for Admin Queue events, etc. * - Add 1 for "other" cause for Admin Queue events, etc.
* - The number of LAN queue pairs * - The number of LAN queue pairs
* already adjusted for the NUMA node * already adjusted for the number of cpus in the system
* assumes symmetric Tx/Rx pairing * assumes symmetric Tx/Rx pairing
* - The number of VMDq pairs * - The number of VMDq pairs
* Once we count this up, try the request. * Once we count this up, try the request.
...@@ -5728,8 +5728,7 @@ static int i40e_sw_init(struct i40e_pf *pf) ...@@ -5728,8 +5728,7 @@ static int i40e_sw_init(struct i40e_pf *pf)
pf->hw.func_caps.num_tx_qp); pf->hw.func_caps.num_tx_qp);
if (pf->hw.func_caps.rss) { if (pf->hw.func_caps.rss) {
pf->flags |= I40E_FLAG_RSS_ENABLED; pf->flags |= I40E_FLAG_RSS_ENABLED;
pf->rss_size = min_t(int, pf->rss_size_max, pf->rss_size = min_t(int, pf->rss_size_max, num_online_cpus());
nr_cpus_node(numa_node_id()));
} else { } else {
pf->rss_size = 1; pf->rss_size = 1;
} }
...@@ -7054,7 +7053,7 @@ static u16 i40e_set_rss_size(struct i40e_pf *pf, int queues_left) ...@@ -7054,7 +7053,7 @@ static u16 i40e_set_rss_size(struct i40e_pf *pf, int queues_left)
int num_tc0; int num_tc0;
num_tc0 = min_t(int, queues_left, pf->rss_size_max); num_tc0 = min_t(int, queues_left, pf->rss_size_max);
num_tc0 = min_t(int, num_tc0, nr_cpus_node(numa_node_id())); num_tc0 = min_t(int, num_tc0, num_online_cpus());
num_tc0 = rounddown_pow_of_two(num_tc0); num_tc0 = rounddown_pow_of_two(num_tc0);
return num_tc0; return num_tc0;
......
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