summaryrefslogtreecommitdiffstats
path: root/net/rds
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>2015-09-14 07:34:37 +0200
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>2015-10-05 20:19:01 +0200
commit2e1d6b813ac146db1e33ebb9b90441012dde4952 (patch)
treecdd616c5d0a6422f10eca4b765d638987e94f512 /net/rds
parentRDS: IB: handle rds_ibdev release case instead of crashing the kernel (diff)
downloadlinux-2e1d6b813ac146db1e33ebb9b90441012dde4952.tar.xz
linux-2e1d6b813ac146db1e33ebb9b90441012dde4952.zip
RDS: IB: fix the rds_ib_fmr_wq kick call
RDS IB mr pool has its own workqueue 'rds_ib_fmr_wq', so we need to use queue_delayed_work() to kick the work. This was hurting the performance since pool maintenance was less often triggered from other path. Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Diffstat (limited to 'net/rds')
-rw-r--r--net/rds/ib_rdma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rds/ib_rdma.c b/net/rds/ib_rdma.c
index 872f523630f2..b6644fa2ea47 100644
--- a/net/rds/ib_rdma.c
+++ b/net/rds/ib_rdma.c
@@ -319,7 +319,7 @@ static struct rds_ib_mr *rds_ib_alloc_fmr(struct rds_ib_device *rds_ibdev)
int err = 0, iter = 0;
if (atomic_read(&pool->dirty_count) >= pool->max_items / 10)
- schedule_delayed_work(&pool->flush_worker, 10);
+ queue_delayed_work(rds_ib_fmr_wq, &pool->flush_worker, 10);
while (1) {
ibmr = rds_ib_reuse_fmr(pool);