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>
This commit is contained in:
@@ -319,7 +319,7 @@ static struct rds_ib_mr *rds_ib_alloc_fmr(struct rds_ib_device *rds_ibdev)
|
|||||||
int err = 0, iter = 0;
|
int err = 0, iter = 0;
|
||||||
|
|
||||||
if (atomic_read(&pool->dirty_count) >= pool->max_items / 10)
|
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) {
|
while (1) {
|
||||||
ibmr = rds_ib_reuse_fmr(pool);
|
ibmr = rds_ib_reuse_fmr(pool);
|
||||||
|
|||||||
Reference in New Issue
Block a user