diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-07-10 04:45:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-10 13:24:25 -0700 |
commit | 21d71f513b6221f482ed6ad45e05f073ae67f319 (patch) | |
tree | 4b890613d46adce1391be4c5c954f5042968ba85 | |
parent | 92eb7a2f28d551acedeb5752263267a64b1f5ddf (diff) | |
download | op-kernel-dev-21d71f513b6221f482ed6ad45e05f073ae67f319.zip op-kernel-dev-21d71f513b6221f482ed6ad45e05f073ae67f319.tar.gz |
[PATCH] uninline init_waitqueue_head()
allyesconfig vmlinux size delta:
text data bss dec filename
20736884 6073834 3075176 29885894 vmlinux.before
20721009 6073966 3075176 29870151 vmlinux.after
~18 bytes per callsite, 15K of text size (~0.1%) saved.
(as an added bonus this also removes a lockdep annotation.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | include/linux/wait.h | 12 | ||||
-rw-r--r-- | kernel/wait.c | 8 |
2 files changed, 7 insertions, 13 deletions
diff --git a/include/linux/wait.h b/include/linux/wait.h index 794be7a..b3b9048 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h @@ -77,17 +77,7 @@ struct task_struct; #define __WAIT_BIT_KEY_INITIALIZER(word, bit) \ { .flags = word, .bit_nr = bit, } -/* - * lockdep: we want one lock-class for all waitqueue locks. - */ -extern struct lock_class_key waitqueue_lock_key; - -static inline void init_waitqueue_head(wait_queue_head_t *q) -{ - spin_lock_init(&q->lock); - lockdep_set_class(&q->lock, &waitqueue_lock_key); - INIT_LIST_HEAD(&q->task_list); -} +extern void init_waitqueue_head(wait_queue_head_t *q); static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p) { diff --git a/kernel/wait.c b/kernel/wait.c index a1d57ae..59a82f6 100644 --- a/kernel/wait.c +++ b/kernel/wait.c @@ -10,9 +10,13 @@ #include <linux/wait.h> #include <linux/hash.h> -struct lock_class_key waitqueue_lock_key; +void init_waitqueue_head(wait_queue_head_t *q) +{ + spin_lock_init(&q->lock); + INIT_LIST_HEAD(&q->task_list); +} -EXPORT_SYMBOL(waitqueue_lock_key); +EXPORT_SYMBOL(init_waitqueue_head); void fastcall add_wait_queue(wait_queue_head_t *q, wait_queue_t *wait) { |