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>

NeilBrown e1dfa0a2 99e22598

+10 -1
+4 -1
drivers/md/raid1.c
··· 1516 1516 conf_t *conf = mddev->private; 1517 1517 struct list_head *head = &conf->retry_list; 1518 1518 mdk_rdev_t *rdev; 1519 + struct blk_plug plug; 1519 1520 1520 1521 md_check_recovery(mddev); 1521 - 1522 + 1523 + blk_start_plug(&plug); 1522 1524 for (;;) { 1523 1525 char b[BDEVNAME_SIZE]; 1524 1526 ··· 1595 1593 } 1596 1594 cond_resched(); 1597 1595 } 1596 + blk_finish_plug(&plug); 1598 1597 } 1599 1598 1600 1599
+3
drivers/md/raid10.c
··· 1640 1640 conf_t *conf = mddev->private; 1641 1641 struct list_head *head = &conf->retry_list; 1642 1642 mdk_rdev_t *rdev; 1643 + struct blk_plug plug; 1643 1644 1644 1645 md_check_recovery(mddev); 1645 1646 1647 + blk_start_plug(&plug); 1646 1648 for (;;) { 1647 1649 char b[BDEVNAME_SIZE]; 1648 1650 ··· 1718 1716 } 1719 1717 cond_resched(); 1720 1718 } 1719 + blk_finish_plug(&plug); 1721 1720 } 1722 1721 1723 1722
+3
drivers/md/raid5.c
··· 4478 4478 struct stripe_head *sh; 4479 4479 raid5_conf_t *conf = mddev->private; 4480 4480 int handled; 4481 + struct blk_plug plug; 4481 4482 4482 4483 pr_debug("+++ raid5d active\n"); 4483 4484 4484 4485 md_check_recovery(mddev); 4485 4486 4487 + blk_start_plug(&plug); 4486 4488 handled = 0; 4487 4489 spin_lock_irq(&conf->device_lock); 4488 4490 while (1) { ··· 4527 4525 spin_unlock_irq(&conf->device_lock); 4528 4526 4529 4527 async_tx_issue_pending_all(); 4528 + blk_finish_plug(&plug); 4530 4529 4531 4530 pr_debug("--- raid5d inactive\n"); 4532 4531 }