Thread (61 messages) 61 messages, 8 authors, 2012-10-29

Re: [PATCH v7 08/16] block,elevator: use new hashtable implementation

From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: 2012-10-29 12:20:56
Also in: dm-devel, linux-nfs, lkml, netdev

* Sasha Levin (levinsasha928@gmail.com) wrote:
[...]
quoted hunk ↗ jump to hunk
@@ -96,6 +97,8 @@ struct elevator_type
 	struct list_head list;
 };
 
+#define ELV_HASH_BITS 6
+
 /*
  * each queue has an elevator_queue associated with it
  */
@@ -105,7 +108,7 @@ struct elevator_queue
 	void *elevator_data;
 	struct kobject kobj;
 	struct mutex sysfs_lock;
-	struct hlist_head *hash;
+	DECLARE_HASHTABLE(hash, ELV_HASH_BITS);
 	unsigned int registered:1;
Hrm, so this is moving "registered" out of the elevator_queue first
cache-line by turning the pointer into a 256 or 512 bytes hash table.

Maybe we should consider moving "registered" before the "hash" field ?

Thanks,

Mathieu
 };
 
-- 
1.7.12.4
-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help