RDS: flush the FMR pool less often
authorsantosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com>
Tue, 25 Aug 2015 19:02:02 +0000 (12:02 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 25 Aug 2015 23:28:11 +0000 (16:28 -0700)
FMR flush is an expensive and time consuming operation. Reduce the
frequency of FMR pool flush by 50% so that more FMR work gets accumulated
for more efficient flushing.

Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/ib_rdma.c

index 2ac78c9..e596dfb 100644 (file)
@@ -737,7 +737,7 @@ void rds_ib_free_mr(void *trans_private, int invalidate)
 
        /* If we've pinned too many pages, request a flush */
        if (atomic_read(&pool->free_pinned) >= pool->max_free_pinned ||
-           atomic_read(&pool->dirty_count) >= pool->max_items / 10)
+           atomic_read(&pool->dirty_count) >= pool->max_items / 5)
                queue_delayed_work(rds_ib_fmr_wq, &pool->flush_worker, 10);
 
        if (invalidate) {