mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
i40e: Do not allow use more TC queue pairs than MSI-X vectors exist
This patch suppresses the message about invalid TC mapping and wrong selected TX queue. The root cause of this bug was setting too many TC queue pairs on huge multiprocessor machines. When quantity of the TC queue pairs is exceeding MSI-X vectors count then TX queue number can be selected beyond actual TX queues amount. Signed-off-by: Paweł Jabłoński <pawel.jablonski@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
a3f9fb5ef3
commit
1563f2d2e0
@ -1818,6 +1818,10 @@ static void i40e_vsi_setup_queue_map(struct i40e_vsi *vsi,
|
||||
num_tc_qps = qcount / numtc;
|
||||
num_tc_qps = min_t(int, num_tc_qps, i40e_pf_get_max_q_per_tc(pf));
|
||||
|
||||
/* Do not allow use more TC queue pairs than MSI-X vectors exist */
|
||||
if (pf->flags & I40E_FLAG_MSIX_ENABLED)
|
||||
num_tc_qps = min_t(int, num_tc_qps, pf->num_lan_msix);
|
||||
|
||||
/* Setup queue offset/count for all TCs for given VSI */
|
||||
for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
|
||||
/* See if the given TC is enabled for the given VSI */
|
||||
|
Loading…
Reference in New Issue
Block a user