ice: change work limit to a constant
The driver has supported a transmit work limit that was configurable from ethtool for a long time, but there are no good use cases for having it be a variable that can be changed at run time. In addition, this variable was noted to be causing performance overhead due to cache misses. Just remove the variable and let the code use a constant so that the functionality is maintained (a limit on the number of transmits that will be cleaned in any one call to the clean routines) without the cache miss. Removes code, removes a variable, removes testing surface. Yay. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@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
d27525ec1f
commit
9d56b7fd6a
|
@ -247,9 +247,6 @@ struct ice_vsi {
|
|||
u16 vsi_num; /* HW (absolute) index of this VSI */
|
||||
u16 idx; /* software index in pf->vsi[] */
|
||||
|
||||
/* Interrupt thresholds */
|
||||
u16 work_lmt;
|
||||
|
||||
s16 vf_id; /* VF ID for SR-IOV VSIs */
|
||||
|
||||
u16 ethtype; /* Ethernet protocol for pause frame */
|
||||
|
|
|
@ -3214,12 +3214,6 @@ __ice_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ec,
|
|||
if (ice_get_q_coalesce(vsi, ec, q_num))
|
||||
return -EINVAL;
|
||||
|
||||
if (q_num < vsi->num_txq)
|
||||
ec->tx_max_coalesced_frames_irq = vsi->work_lmt;
|
||||
|
||||
if (q_num < vsi->num_rxq)
|
||||
ec->rx_max_coalesced_frames_irq = vsi->work_lmt;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -3399,17 +3393,13 @@ __ice_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *ec,
|
|||
if (ice_set_q_coalesce(vsi, ec, i))
|
||||
return -EINVAL;
|
||||
}
|
||||
goto set_work_lmt;
|
||||
goto set_complete;
|
||||
}
|
||||
|
||||
if (ice_set_q_coalesce(vsi, ec, q_num))
|
||||
return -EINVAL;
|
||||
|
||||
set_work_lmt:
|
||||
|
||||
if (ec->tx_max_coalesced_frames_irq || ec->rx_max_coalesced_frames_irq)
|
||||
vsi->work_lmt = max(ec->tx_max_coalesced_frames_irq,
|
||||
ec->rx_max_coalesced_frames_irq);
|
||||
set_complete:
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -548,8 +548,8 @@ ice_vsi_alloc(struct ice_pf *pf, enum ice_vsi_type type, u16 vf_id)
|
|||
vsi->type = type;
|
||||
vsi->back = pf;
|
||||
set_bit(__ICE_DOWN, vsi->state);
|
||||
|
||||
vsi->idx = pf->next_vsi;
|
||||
vsi->work_lmt = ICE_DFLT_IRQ_WORK;
|
||||
|
||||
if (type == ICE_VSI_VF)
|
||||
ice_vsi_set_num_qs(vsi, vf_id);
|
||||
|
|
Loading…
Reference in New Issue