RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently
[ Upstream commitd6793ca97b] Fixing a typo that causes a cache entry to shrink immediately after adding to it new MRs if the entry size exceeds the high limit. In doing so, the cache misses its purpose to prevent the creation of new mkeys on the runtime by using the cached ones. Fixes:b9358bdbc7("RDMA/mlx5: Fix locking in MR cache work queue") Link: https://lore.kernel.org/r/fcb546986be346684a016f5ca23a0567399145fa.1627370131.git.leonro@nvidia.com Signed-off-by: Aharon Landau <aharonl@nvidia.com> Reviewed-by: Maor Gottlieb <maorg@nvidia.com> Signed-off-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1242ca9369
commit
e74551ba93
@@ -526,7 +526,7 @@ static void __cache_work_func(struct mlx5_cache_ent *ent)
|
||||
*/
|
||||
spin_unlock_irq(&ent->lock);
|
||||
need_delay = need_resched() || someone_adding(cache) ||
|
||||
time_after(jiffies,
|
||||
!time_after(jiffies,
|
||||
READ_ONCE(cache->last_add) + 300 * HZ);
|
||||
spin_lock_irq(&ent->lock);
|
||||
if (ent->disabled)
|
||||
|
||||
Reference in New Issue
Block a user