ice: sleep, don't busy-wait, in the SQ send retry loop
authorMichal Schmidt <mschmidt@redhat.com>
Wed, 12 Apr 2023 08:19:29 +0000 (10:19 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 20 Apr 2023 23:33:14 +0000 (16:33 -0700)
10 ms is a lot of time to spend busy-waiting. Sleeping is clearly
allowed here, because we have just returned from ice_sq_send_cmd(),
which takes a mutex.

On kernels with HZ=100, this msleep may be twice as long, but I don't
think it matters.
I did not actually observe any retries happening here.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_common.c

index c6200564304e97878df74b2ebd3f38b8c8dd725d..0157f6e98d3e24e3e77224e45a92d8698e3fc84a 100644 (file)
@@ -1643,7 +1643,7 @@ ice_sq_send_cmd_retry(struct ice_hw *hw, struct ice_ctl_q_info *cq,
 
                memcpy(desc, &desc_cpy, sizeof(desc_cpy));
 
-               mdelay(ICE_SQ_SEND_DELAY_TIME_MS);
+               msleep(ICE_SQ_SEND_DELAY_TIME_MS);
 
        } while (++idx < ICE_SQ_SEND_MAX_EXECUTE);