summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBenjamin LaHaise <bcrl@linux.intel.com>2006-03-23 03:01:03 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-23 07:38:17 -0800
commit5a6b7951bfcca7f45f44269ea87417c74558daf8 (patch)
treef9cc8b3f89c89802e81b37d77c6f698e373bfe51 /include
parent0b2fcfdb8b4e7e379192f24ea2203163ddf5df1d (diff)
downloadlwn-5a6b7951bfcca7f45f44269ea87417c74558daf8.tar.gz
lwn-5a6b7951bfcca7f45f44269ea87417c74558daf8.zip
[PATCH] get_empty_filp tweaks, inline epoll_init_file()
Eliminate a handful of cache references by keeping current in a register instead of reloading (helps x86) and avoiding the overhead of a function call. Inlining eventpoll_init_file() saves 24 bytes. Also reorder file initialization to make writes occur more sequentially. Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com> Cc: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/eventpoll.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h
index 1289f0ec4c00..1e4bdfcf83a2 100644
--- a/include/linux/eventpoll.h
+++ b/include/linux/eventpoll.h
@@ -52,7 +52,12 @@ struct file;
#ifdef CONFIG_EPOLL
/* Used to initialize the epoll bits inside the "struct file" */
-void eventpoll_init_file(struct file *file);
+static inline void eventpoll_init_file(struct file *file)
+{
+ INIT_LIST_HEAD(&file->f_ep_links);
+ spin_lock_init(&file->f_ep_lock);
+}
+
/* Used to release the epoll bits inside the "struct file" */
void eventpoll_release_file(struct file *file);
@@ -85,7 +90,6 @@ static inline void eventpoll_release(struct file *file)
eventpoll_release_file(file);
}
-
#else
static inline void eventpoll_init_file(struct file *file) {}