[PATCH] dm: dm_table_unplug_all optimization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Performance optimization for high contention of the q->queue_lock under
certain workloads.

Signed-off-by: Mike Anderson <andmike@xxxxxxxxxxxxxxxxxx>
---

 drivers/md/dm-table.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index e75b143..f4c8c1b 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -1012,7 +1012,8 @@ void dm_table_unplug_all(struct dm_table *t)
 	list_for_each_entry(dd, devices, list) {
 		struct request_queue *q = bdev_get_queue(dd->bdev);
 
-		blk_unplug(q);
+		if (blk_queue_plugged(q))
+			blk_unplug(q);
 	}
 }
 

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux