|
|
@@ -1271,13 +1271,13 @@ static int i40evf_set_interrupt_capability(struct i40evf_adapter *adapter)
|
|
|
}
|
|
|
pairs = adapter->num_active_queues;
|
|
|
|
|
|
- /* It's easy to be greedy for MSI-X vectors, but it really
|
|
|
- * doesn't do us much good if we have a lot more vectors
|
|
|
- * than CPU's. So let's be conservative and only ask for
|
|
|
- * (roughly) twice the number of vectors as there are CPU's.
|
|
|
+ /* It's easy to be greedy for MSI-X vectors, but it really doesn't do
|
|
|
+ * us much good if we have more vectors than CPUs. However, we already
|
|
|
+ * limit the total number of queues by the number of CPUs so we do not
|
|
|
+ * need any further limiting here.
|
|
|
*/
|
|
|
- v_budget = min_t(int, pairs, (int)(num_online_cpus() * 2)) + NONQ_VECS;
|
|
|
- v_budget = min_t(int, v_budget, (int)adapter->vf_res->max_vectors);
|
|
|
+ v_budget = min_t(int, pairs + NONQ_VECS,
|
|
|
+ (int)adapter->vf_res->max_vectors);
|
|
|
|
|
|
adapter->msix_entries = kcalloc(v_budget,
|
|
|
sizeof(struct msix_entry), GFP_KERNEL);
|