diff options
author | NeilBrown <neilb@suse.de> | 2011-04-18 10:25:41 +0200 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-04-18 10:25:41 +0200 |
commit | e1dfa0a29737142c32f00a3bac0f609dc85b4a82 (patch) | |
tree | 1af906cc5e959803e7d5ea0e56fb69b56754501a /drivers/md/raid5.c | |
parent | block: drop queue lock before calling __blk_run_queue() for kblockd punt (diff) | |
download | linux-e1dfa0a29737142c32f00a3bac0f609dc85b4a82.tar.xz linux-e1dfa0a29737142c32f00a3bac0f609dc85b4a82.zip |
md: use new plugging interface for RAID IO.
md/raid submits a lot of IO from the various raid threads.
So adding start/finish plug calls to those so that some
plugging happens.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to '')
-rw-r--r-- | drivers/md/raid5.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index e867ee42b152..ce6960b1c682 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -4478,11 +4478,13 @@ static void raid5d(mddev_t *mddev) struct stripe_head *sh; raid5_conf_t *conf = mddev->private; int handled; + struct blk_plug plug; pr_debug("+++ raid5d active\n"); md_check_recovery(mddev); + blk_start_plug(&plug); handled = 0; spin_lock_irq(&conf->device_lock); while (1) { @@ -4525,6 +4527,7 @@ static void raid5d(mddev_t *mddev) spin_unlock_irq(&conf->device_lock); async_tx_issue_pending_all(); + blk_finish_plug(&plug); pr_debug("--- raid5d inactive\n"); } |