[dm-devel] [PATCH 2/2] dm optimize: reorder structure

Mikulas Patocka mpatocka at redhat.com
Mon May 28 16:44:09 UTC 2012


dm-optimize: reorder structure

This reorder actually improves performance by 20% (from 39.1s to 32.8s)
on x86-64 quad core Opteron.

I have no explanation for this, possibly it makes some other entries are
better cache-aligned.

Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>

---
 drivers/md/dm.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

Index: linux-3.4-rc6-fast/drivers/md/dm.c
===================================================================
--- linux-3.4-rc6-fast.orig/drivers/md/dm.c	2012-05-18 08:06:15.000000000 +0200
+++ linux-3.4-rc6-fast/drivers/md/dm.c	2012-05-18 08:21:52.000000000 +0200
@@ -139,6 +139,13 @@ struct mapped_device {
 	atomic_t holders;
 	atomic_t open_count;
 
+	/*
+	 * The current mapping.
+	 * Use dm_get_live_table{_fast} or take suspend_lock for
+	 * dereference.
+	 */
+	struct dm_table *map;
+
 	unsigned long flags;
 
 	struct request_queue *queue;
@@ -168,13 +175,6 @@ struct mapped_device {
 	struct workqueue_struct *wq;
 
 	/*
-	 * The current mapping.
-	 * Use dm_get_live_table{_fast} or take suspend_lock for
-	 * dereference.
-	 */
-	struct dm_table *map;
-
-	/*
 	 * io objects are allocated from here.
 	 */
 	mempool_t *io_pool;




More information about the dm-devel mailing list