aboutsummaryrefslogtreecommitdiffstats
path: root/net/rds/iw_rdma.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/rds/iw_rdma.c')
-rw-r--r--net/rds/iw_rdma.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/net/rds/iw_rdma.c b/net/rds/iw_rdma.c
index 4e1de171866c..a817705ce2d0 100644
--- a/net/rds/iw_rdma.c
+++ b/net/rds/iw_rdma.c
@@ -477,17 +477,6 @@ void rds_iw_sync_mr(void *trans_private, int direction)
477 } 477 }
478} 478}
479 479
480static inline unsigned int rds_iw_flush_goal(struct rds_iw_mr_pool *pool, int free_all)
481{
482 unsigned int item_count;
483
484 item_count = atomic_read(&pool->item_count);
485 if (free_all)
486 return item_count;
487
488 return 0;
489}
490
491/* 480/*
492 * Flush our pool of MRs. 481 * Flush our pool of MRs.
493 * At a minimum, all currently unused MRs are unmapped. 482 * At a minimum, all currently unused MRs are unmapped.
@@ -500,7 +489,7 @@ static int rds_iw_flush_mr_pool(struct rds_iw_mr_pool *pool, int free_all)
500 LIST_HEAD(unmap_list); 489 LIST_HEAD(unmap_list);
501 LIST_HEAD(kill_list); 490 LIST_HEAD(kill_list);
502 unsigned long flags; 491 unsigned long flags;
503 unsigned int nfreed = 0, ncleaned = 0, unpinned = 0, free_goal; 492 unsigned int nfreed = 0, ncleaned = 0, unpinned = 0;
504 int ret = 0; 493 int ret = 0;
505 494
506 rds_iw_stats_inc(s_iw_rdma_mr_pool_flush); 495 rds_iw_stats_inc(s_iw_rdma_mr_pool_flush);
@@ -514,8 +503,6 @@ static int rds_iw_flush_mr_pool(struct rds_iw_mr_pool *pool, int free_all)
514 list_splice_init(&pool->clean_list, &kill_list); 503 list_splice_init(&pool->clean_list, &kill_list);
515 spin_unlock_irqrestore(&pool->list_lock, flags); 504 spin_unlock_irqrestore(&pool->list_lock, flags);
516 505
517 free_goal = rds_iw_flush_goal(pool, free_all);
518
519 /* Batched invalidate of dirty MRs. 506 /* Batched invalidate of dirty MRs.
520 * For FMR based MRs, the mappings on the unmap list are 507 * For FMR based MRs, the mappings on the unmap list are
521 * actually members of an ibmr (ibmr->mapping). They either 508 * actually members of an ibmr (ibmr->mapping). They either