summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.h
diff options
context:
space:
mode:
authorShaohua Li <shli@kernel.org>2013-11-14 15:16:17 +1100
committerNeilBrown <neilb@suse.de>2013-11-19 15:18:22 +1100
commit4bda556aea1d2916260326c6afa77b84a1f1345a (patch)
tree5233a0470d29eb5976ec9f6296ef129adf097ed8 /drivers/md/raid5.h
parent566c09c53455d7c4f1130928ef8071da1a24ea65 (diff)
downloadop-kernel-dev-4bda556aea1d2916260326c6afa77b84a1f1345a.zip
op-kernel-dev-4bda556aea1d2916260326c6afa77b84a1f1345a.tar.gz
raid5: relieve lock contention in get_active_stripe()
track empty inactive list count, so md_raid5_congested() can use it to make decision. Signed-off-by: Shaohua Li <shli@fusionio.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid5.h')
-rw-r--r--drivers/md/raid5.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h
index a9e443a..e440738 100644
--- a/drivers/md/raid5.h
+++ b/drivers/md/raid5.h
@@ -475,6 +475,7 @@ struct r5conf {
*/
atomic_t active_stripes;
struct list_head inactive_list[NR_STRIPE_HASH_LOCKS];
+ atomic_t empty_inactive_list_nr;
struct llist_head released_stripes;
wait_queue_head_t wait_for_stripe;
wait_queue_head_t wait_for_overlap;
OpenPOWER on IntegriCloud