From: Santosh Shilimkar Date: Mon, 14 Sep 2015 05:34:37 +0000 (-0700) Subject: RDS: IB: fix the rds_ib_fmr_wq kick call X-Git-Tag: KARO-TX6UL-2015-11-03~90^2~155^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2e1d6b813ac146db1e33ebb9b90441012dde4952;hp=9441c973e1e0e9885537a3a86020fe8e121e9a98;p=karo-tx-linux.git 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 Signed-off-by: Santosh Shilimkar --- 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);