aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/klist.h
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew@wil.cx>2008-10-16 16:57:54 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-01-06 13:44:30 -0500
commit210272a28465a7a31bcd580d2f9529f924965aa5 (patch)
treebd368e8f27c7691b12deaafc1a52c79db1fa1cc9 /include/linux/klist.h
parent929d2fa5955ab27aa21fac615b23e0e92e8dc3a0 (diff)
driver core: Remove completion from struct klist_node
Removing the completion from klist_node reduces its size from 64 bytes to 28 on x86-64. To maintain the semantics of klist_remove(), we add a single list of klist nodes which are pending deletion and scan them. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/klist.h')
-rw-r--r--include/linux/klist.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/include/linux/klist.h b/include/linux/klist.h
index 8ea98db223e5..d5a27af9dba5 100644
--- a/include/linux/klist.h
+++ b/include/linux/klist.h
@@ -13,7 +13,6 @@
13#define _LINUX_KLIST_H 13#define _LINUX_KLIST_H
14 14
15#include <linux/spinlock.h> 15#include <linux/spinlock.h>
16#include <linux/completion.h>
17#include <linux/kref.h> 16#include <linux/kref.h>
18#include <linux/list.h> 17#include <linux/list.h>
19 18
@@ -41,7 +40,6 @@ struct klist_node {
41 void *n_klist; /* never access directly */ 40 void *n_klist; /* never access directly */
42 struct list_head n_node; 41 struct list_head n_node;
43 struct kref n_ref; 42 struct kref n_ref;
44 struct completion n_removed;
45}; 43};
46 44
47extern void klist_add_tail(struct klist_node *n, struct klist *k); 45extern void klist_add_tail(struct klist_node *n, struct klist *k);