linux-stable/drivers/infiniband/hw
Leon Romanovsky ab5cdc3163 IB/mlx5: Postpone remove_keys under knowledge of coming preemption
The remove_keys() logic is performed as garbage collection task. Such
task is intended to be run when no other active processes are running.

The need_resched() will return TRUE if there are user tasks to be
activated in near future.

In such case, we don't execute remove_keys() and postpone
the garbage collection work to try to run in next cycle,
in order to free CPU resources to other tasks.

The possible pseudo-code to trigger such scenario:
1. Allocate a lot of MR to fill the cache above the limit.
2. Wait a small amount of time "to calm" the system.
3. Start CPU extensive operations on multi-node cluster.
4. Expect performance degradation during MR cache shrink operation.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-12-08 16:55:31 -05:00
..
cxgb3 RDMA/cxgb3: Remove old FRWR API 2015-10-28 22:27:19 -04:00
cxgb4 iw_cxgb4: Remove old FRWR API 2015-10-28 22:32:29 -04:00
mlx4 IB/mlx4: Use vmalloc for WR buffers when needed 2015-12-08 16:48:10 -05:00
mlx5 IB/mlx5: Postpone remove_keys under knowledge of coming preemption 2015-12-08 16:55:31 -05:00
mthca Merge branch 'wr-cleanup' into k.o/for-4.4 2015-10-28 22:23:34 -04:00
nes Initial 4.4 merge window submission 2015-11-07 13:33:07 -08:00
ocrdma RDMA/ocrdma: Remove old FRWR API 2015-10-28 22:27:19 -04:00
qib IB/qib: Minor fixes to qib per SFF 8636 2015-12-07 16:36:00 -05:00
usnic usnic: correctly handle kzalloc return value 2015-10-21 16:41:19 -04:00
Makefile IB/ehca: Deprecate driver, move to staging, schedule deletion 2015-09-11 18:13:35 -04:00