* [PATCH rdma-rc v1 0/3] Fixes for v5.17
@ 2022-04-04 8:58 Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 1/3] RDMA/mlx5: Don't remove cache MRs when a delay is needed Leon Romanovsky
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Leon Romanovsky @ 2022-04-04 8:58 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Leon Romanovsky, Aharon Landau, linux-rdma, Maor Gottlieb,
Mark Zhang, Shay Drory
From: Leon Romanovsky <leonro@nvidia.com>
Changelog:
v1:
* Fixed rebase error in patch #1
v0: https://lore.kernel.org/all/cover.1648366974.git.leonro@nvidia.com
Aharon Landau (2):
RDMA/mlx5: Don't remove cache MRs when a delay is needed
RDMA/mlx5: Add a missing update of cache->last_add
Mark Zhang (1):
IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD
drivers/infiniband/core/cm.c | 3 +--
drivers/infiniband/hw/mlx5/mr.c | 5 ++++-
2 files changed, 5 insertions(+), 3 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH rdma-rc v1 1/3] RDMA/mlx5: Don't remove cache MRs when a delay is needed
2022-04-04 8:58 [PATCH rdma-rc v1 0/3] Fixes for v5.17 Leon Romanovsky
@ 2022-04-04 8:58 ` Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 2/3] RDMA/mlx5: Add a missing update of cache->last_add Leon Romanovsky
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Leon Romanovsky @ 2022-04-04 8:58 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Aharon Landau, linux-rdma, Maor Gottlieb, Mark Zhang, Shay Drory
From: Aharon Landau <aharonl@nvidia.com>
Don't remove MRs from the cache if need to delay the removal.
Fixes: b9358bdbc713 ("RDMA/mlx5: Fix locking in MR cache work queue")
Signed-off-by: Aharon Landau <aharonl@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
drivers/infiniband/hw/mlx5/mr.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/mlx5/mr.c b/drivers/infiniband/hw/mlx5/mr.c
index 956f8e875daa..45b0680377ec 100644
--- a/drivers/infiniband/hw/mlx5/mr.c
+++ b/drivers/infiniband/hw/mlx5/mr.c
@@ -574,8 +574,10 @@ static void __cache_work_func(struct mlx5_cache_ent *ent)
spin_lock_irq(&ent->lock);
if (ent->disabled)
goto out;
- if (need_delay)
+ if (need_delay) {
queue_delayed_work(cache->wq, &ent->dwork, 300 * HZ);
+ goto out;
+ }
remove_cache_mr_locked(ent);
queue_adjust_cache_locked(ent);
}
--
2.35.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH rdma-rc v1 2/3] RDMA/mlx5: Add a missing update of cache->last_add
2022-04-04 8:58 [PATCH rdma-rc v1 0/3] Fixes for v5.17 Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 1/3] RDMA/mlx5: Don't remove cache MRs when a delay is needed Leon Romanovsky
@ 2022-04-04 8:58 ` Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 3/3] IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD Leon Romanovsky
2022-04-04 13:39 ` [PATCH rdma-rc v1 0/3] Fixes for v5.17 Jason Gunthorpe
3 siblings, 0 replies; 5+ messages in thread
From: Leon Romanovsky @ 2022-04-04 8:58 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Aharon Landau, linux-rdma, Maor Gottlieb, Mark Zhang, Shay Drory
From: Aharon Landau <aharonl@nvidia.com>
Update cache->last_add when returning an MR to the cache so that the
cache work won't remove it.
Fixes: b9358bdbc713 ("RDMA/mlx5: Fix locking in MR cache work queue")
Signed-off-by: Aharon Landau <aharonl@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
drivers/infiniband/hw/mlx5/mr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/infiniband/hw/mlx5/mr.c b/drivers/infiniband/hw/mlx5/mr.c
index 45b0680377ec..32ef67e9a6a7 100644
--- a/drivers/infiniband/hw/mlx5/mr.c
+++ b/drivers/infiniband/hw/mlx5/mr.c
@@ -627,6 +627,7 @@ static void mlx5_mr_cache_free(struct mlx5_ib_dev *dev, struct mlx5_ib_mr *mr)
{
struct mlx5_cache_ent *ent = mr->cache_ent;
+ WRITE_ONCE(dev->cache.last_add, jiffies);
spin_lock_irq(&ent->lock);
list_add_tail(&mr->list, &ent->head);
ent->available_mrs++;
--
2.35.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH rdma-rc v1 3/3] IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD
2022-04-04 8:58 [PATCH rdma-rc v1 0/3] Fixes for v5.17 Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 1/3] RDMA/mlx5: Don't remove cache MRs when a delay is needed Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 2/3] RDMA/mlx5: Add a missing update of cache->last_add Leon Romanovsky
@ 2022-04-04 8:58 ` Leon Romanovsky
2022-04-04 13:39 ` [PATCH rdma-rc v1 0/3] Fixes for v5.17 Jason Gunthorpe
3 siblings, 0 replies; 5+ messages in thread
From: Leon Romanovsky @ 2022-04-04 8:58 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Mark Zhang, Aharon Landau, linux-rdma, Maor Gottlieb, Shay Drory
From: Mark Zhang <markzhang@nvidia.com>
On the passive side when the disconnectReq event comes, if the current
state is MRA_REP_RCVD, it needs to cancel the MAD before enter the
DREQ_RCVD and TIMEWAIT state, otherwise the destroy_id may block until
this mad will reach timeout.
Fixes: a977049dacde ("[PATCH] IB: Add the kernel CM implementation")
Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
drivers/infiniband/core/cm.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index 35f0d5e7533d..1c107d6d03b9 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -2824,6 +2824,7 @@ static int cm_dreq_handler(struct cm_work *work)
switch (cm_id_priv->id.state) {
case IB_CM_REP_SENT:
case IB_CM_DREQ_SENT:
+ case IB_CM_MRA_REP_RCVD:
ib_cancel_mad(cm_id_priv->msg);
break;
case IB_CM_ESTABLISHED:
@@ -2831,8 +2832,6 @@ static int cm_dreq_handler(struct cm_work *work)
cm_id_priv->id.lap_state == IB_CM_MRA_LAP_RCVD)
ib_cancel_mad(cm_id_priv->msg);
break;
- case IB_CM_MRA_REP_RCVD:
- break;
case IB_CM_TIMEWAIT:
atomic_long_inc(&work->port->counters[CM_RECV_DUPLICATES]
[CM_DREQ_COUNTER]);
--
2.35.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH rdma-rc v1 0/3] Fixes for v5.17
2022-04-04 8:58 [PATCH rdma-rc v1 0/3] Fixes for v5.17 Leon Romanovsky
` (2 preceding siblings ...)
2022-04-04 8:58 ` [PATCH rdma-rc v1 3/3] IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD Leon Romanovsky
@ 2022-04-04 13:39 ` Jason Gunthorpe
3 siblings, 0 replies; 5+ messages in thread
From: Jason Gunthorpe @ 2022-04-04 13:39 UTC (permalink / raw)
To: Leon Romanovsky
Cc: Leon Romanovsky, Aharon Landau, linux-rdma, Maor Gottlieb,
Mark Zhang, Shay Drory
On Mon, Apr 04, 2022 at 11:58:02AM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
>
> Changelog:
> v1:
> * Fixed rebase error in patch #1
> v0: https://lore.kernel.org/all/cover.1648366974.git.leonro@nvidia.com
>
> Aharon Landau (2):
> RDMA/mlx5: Don't remove cache MRs when a delay is needed
> RDMA/mlx5: Add a missing update of cache->last_add
>
> Mark Zhang (1):
> IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD
Applied to for-rc, thanks
Jason
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-04-04 13:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-04 8:58 [PATCH rdma-rc v1 0/3] Fixes for v5.17 Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 1/3] RDMA/mlx5: Don't remove cache MRs when a delay is needed Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 2/3] RDMA/mlx5: Add a missing update of cache->last_add Leon Romanovsky
2022-04-04 8:58 ` [PATCH rdma-rc v1 3/3] IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD Leon Romanovsky
2022-04-04 13:39 ` [PATCH rdma-rc v1 0/3] Fixes for v5.17 Jason Gunthorpe
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.