diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2015-06-22 17:26:38 -0700 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-06-26 02:52:27 -0700 |
commit | 40746eb14c6b44f4d635c2f4cf8c67550db9b3ab (patch) | |
tree | 450f0c24178c50fc18cb728575daa620dd61dfc6 /drivers/net/ethernet | |
parent | 67c818a1d58c7897b8a6f531684516f9c236fe1b (diff) | |
download | op-kernel-dev-40746eb14c6b44f4d635c2f4cf8c67550db9b3ab.zip op-kernel-dev-40746eb14c6b44f4d635c2f4cf8c67550db9b3ab.tar.gz |
i40evf: don't configure unused RSS queues
The driver will only configure as many queues as there are available
CPUs, up the maximum number of queues. However, it always configures
RSS as though it is using the maximum number of queues. This can cause
the device to drop a lot of RX traffic, as the packets get assigned to
nonfunctional queues.
Fix this by only configuring RSS with the number of active queues.
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index 5c73374..4ab4ebb 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c @@ -1461,7 +1461,7 @@ static void i40evf_configure_rss(struct i40evf_adapter *adapter) for (i = 0; i <= I40E_VFQF_HLUT_MAX_INDEX; i++) { lut = 0; for (j = 0; j < 4; j++) { - if (cqueue == adapter->vsi_res->num_queue_pairs) + if (cqueue == adapter->num_active_queues) cqueue = 0; lut |= ((cqueue) << (8 * j)); cqueue++; |