Commit 98e77d9f authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Doug Ledford

IB: Convert msleep below 20ms to usleep_range

The msleep(1) may do not sleep 1 ms as expected
and will sleep longer. The simple conversion from
msleep to usleep_range between 1ms and 2ms can solve an
issue.

The full and comprehensive explanation can be found at [1] and [2].

[1] https://lkml.org/lkml/2007/8/3/250
[2] Documentation/timers/timers-howto.txt
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Reviewed-by: default avatarErez Shitrit <erezsh@mellanox.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent f7c8f2e9
...@@ -995,7 +995,8 @@ static void hns_roce_v1_mr_free_work_fn(struct work_struct *work) ...@@ -995,7 +995,8 @@ static void hns_roce_v1_mr_free_work_fn(struct work_struct *work)
goto free_work; goto free_work;
} }
ne -= ret; ne -= ret;
msleep(HNS_ROCE_V1_FREE_MR_WAIT_VALUE); usleep_range(HNS_ROCE_V1_FREE_MR_WAIT_VALUE * 1000,
(1 + HNS_ROCE_V1_FREE_MR_WAIT_VALUE) * 1000);
} while (ne && time_before_eq(jiffies, end)); } while (ne && time_before_eq(jiffies, end));
if (ne != 0) if (ne != 0)
......
...@@ -1155,7 +1155,7 @@ static void mlx4_ib_disassociate_ucontext(struct ib_ucontext *ibcontext) ...@@ -1155,7 +1155,7 @@ static void mlx4_ib_disassociate_ucontext(struct ib_ucontext *ibcontext)
* call to mlx4_ib_vma_close. * call to mlx4_ib_vma_close.
*/ */
put_task_struct(owning_process); put_task_struct(owning_process);
msleep(1); usleep_range(1000, 2000);
owning_process = get_pid_task(ibcontext->tgid, owning_process = get_pid_task(ibcontext->tgid,
PIDTYPE_PID); PIDTYPE_PID);
if (!owning_process || if (!owning_process ||
......
...@@ -1091,7 +1091,7 @@ static void _mlx4_ib_mcg_port_cleanup(struct mlx4_ib_demux_ctx *ctx, int destroy ...@@ -1091,7 +1091,7 @@ static void _mlx4_ib_mcg_port_cleanup(struct mlx4_ib_demux_ctx *ctx, int destroy
if (!count) if (!count)
break; break;
msleep(1); usleep_range(1000, 2000);
} while (time_after(end, jiffies)); } while (time_after(end, jiffies));
flush_workqueue(ctx->mcg_wq); flush_workqueue(ctx->mcg_wq);
......
...@@ -551,7 +551,7 @@ struct nes_adapter *nes_init_adapter(struct nes_device *nesdev, u8 hw_rev) { ...@@ -551,7 +551,7 @@ struct nes_adapter *nes_init_adapter(struct nes_device *nesdev, u8 hw_rev) {
if ((0x0F000100 == (pcs_control_status0 & 0x0F000100)) if ((0x0F000100 == (pcs_control_status0 & 0x0F000100))
|| (0x0F000100 == (pcs_control_status1 & 0x0F000100))) || (0x0F000100 == (pcs_control_status1 & 0x0F000100)))
int_cnt++; int_cnt++;
msleep(1); usleep_range(1000, 2000);
} }
if (int_cnt > 1) { if (int_cnt > 1) {
spin_lock_irqsave(&nesadapter->phy_lock, flags); spin_lock_irqsave(&nesadapter->phy_lock, flags);
...@@ -592,7 +592,7 @@ struct nes_adapter *nes_init_adapter(struct nes_device *nesdev, u8 hw_rev) { ...@@ -592,7 +592,7 @@ struct nes_adapter *nes_init_adapter(struct nes_device *nesdev, u8 hw_rev) {
break; break;
} }
} }
msleep(1); usleep_range(1000, 2000);
} }
} }
} }
......
...@@ -954,7 +954,7 @@ void ipoib_cm_dev_stop(struct net_device *dev) ...@@ -954,7 +954,7 @@ void ipoib_cm_dev_stop(struct net_device *dev)
break; break;
} }
spin_unlock_irq(&priv->lock); spin_unlock_irq(&priv->lock);
msleep(1); usleep_range(1000, 2000);
ipoib_drain_cq(dev); ipoib_drain_cq(dev);
spin_lock_irq(&priv->lock); spin_lock_irq(&priv->lock);
} }
...@@ -1206,7 +1206,7 @@ static void ipoib_cm_tx_destroy(struct ipoib_cm_tx *p) ...@@ -1206,7 +1206,7 @@ static void ipoib_cm_tx_destroy(struct ipoib_cm_tx *p)
goto timeout; goto timeout;
} }
msleep(1); usleep_range(1000, 2000);
} }
} }
......
...@@ -770,7 +770,7 @@ int ipoib_ib_dev_stop_default(struct net_device *dev) ...@@ -770,7 +770,7 @@ int ipoib_ib_dev_stop_default(struct net_device *dev)
ipoib_drain_cq(dev); ipoib_drain_cq(dev);
msleep(1); usleep_range(1000, 2000);
} }
ipoib_dbg(priv, "All sends and receives done.\n"); ipoib_dbg(priv, "All sends and receives done.\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment