Commit fb39f360 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] CONFIG_EPOLL

From: Christopher Hoover <ch@murgatroid.com>

Here's a patch to drop some more text/data/bss out of 2.5.  This time
the ``victim'' is eventpollfs (epoll).
parent e8c0de6e
...@@ -10,7 +10,9 @@ obj-y := open.o read_write.o file_table.o buffer.o \ ...@@ -10,7 +10,9 @@ obj-y := open.o read_write.o file_table.o buffer.o \
namei.o fcntl.o ioctl.o readdir.o select.o fifo.o locks.o \ namei.o fcntl.o ioctl.o readdir.o select.o fifo.o locks.o \
dcache.o inode.o attr.o bad_inode.o file.o dnotify.o \ dcache.o inode.o attr.o bad_inode.o file.o dnotify.o \
filesystems.o namespace.o seq_file.o xattr.o libfs.o \ filesystems.o namespace.o seq_file.o xattr.o libfs.o \
fs-writeback.o mpage.o direct-io.o aio.o eventpoll.o fs-writeback.o mpage.o direct-io.o aio.o
obj-$(CONFIG_EPOLL) += eventpoll.o
obj-$(CONFIG_COMPAT) += compat.o obj-$(CONFIG_COMPAT) += compat.o
......
...@@ -40,12 +40,21 @@ asmlinkage long sys_epoll_ctl(int epfd, int op, int fd, struct epoll_event *even ...@@ -40,12 +40,21 @@ asmlinkage long sys_epoll_ctl(int epfd, int op, int fd, struct epoll_event *even
asmlinkage long sys_epoll_wait(int epfd, struct epoll_event *events, int maxevents, asmlinkage long sys_epoll_wait(int epfd, struct epoll_event *events, int maxevents,
int timeout); int timeout);
#ifdef CONFIG_EPOLL
/* Used to initialize the epoll bits inside the "struct file" */ /* Used to initialize the epoll bits inside the "struct file" */
void eventpoll_init_file(struct file *file); void eventpoll_init_file(struct file *file);
/* Used in fs/file_table.c:__fput() to unlink files from the eventpoll interface */ /* Used in fs/file_table.c:__fput() to unlink files from the eventpoll interface */
void eventpoll_release(struct file *file); void eventpoll_release(struct file *file);
#else
static inline void eventpoll_init_file(struct file *file) {}
static inline void eventpoll_release(struct file *file) {}
#endif
#endif /* #ifdef __KERNEL__ */ #endif /* #ifdef __KERNEL__ */
#endif /* #ifndef _LINUX_EVENTPOLL_H */ #endif /* #ifndef _LINUX_EVENTPOLL_H */
......
...@@ -125,6 +125,13 @@ config FUTEX ...@@ -125,6 +125,13 @@ config FUTEX
support for "fast userspace mutexes". The resulting kernel may not support for "fast userspace mutexes". The resulting kernel may not
run glibc-based applications correctly. run glibc-based applications correctly.
config EPOLL
bool "Enable eventpoll support" if EMBEDDED
default y
help
Disabling this option will cause the kernel to be built without
support for epoll family of system calls.
endmenu # General setup endmenu # General setup
......
...@@ -228,6 +228,9 @@ cond_syscall(sys_recvmsg) ...@@ -228,6 +228,9 @@ cond_syscall(sys_recvmsg)
cond_syscall(sys_socketcall) cond_syscall(sys_socketcall)
cond_syscall(sys_futex) cond_syscall(sys_futex)
cond_syscall(compat_sys_futex) cond_syscall(compat_sys_futex)
cond_syscall(sys_epoll_create)
cond_syscall(sys_epoll_ctl)
cond_syscall(sys_epoll_wait)
static int set_one_prio(struct task_struct *p, int niceval, int error) static int set_one_prio(struct task_struct *p, int niceval, int error)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment