]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] CONFIG_EPOLL
authorAndrew Morton <akpm@digeo.com>
Sun, 25 May 2003 08:12:37 +0000 (01:12 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Sun, 25 May 2003 08:12:37 +0000 (01:12 -0700)
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).

fs/Makefile
include/linux/eventpoll.h
init/Kconfig
kernel/sys.c

index 0462ed4d42dbd9f8a929fc91dd6e38d239f716a8..7bf93d805a0085daa25c467e2d64305aa70d1a4d 100644 (file)
@@ -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 \
                dcache.o inode.o attr.o bad_inode.o file.o dnotify.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
 
index 632c5d6efe6f632afc24b750423e81c90d10ab99..8288857d2ade7fba2278f15148dc68068c8472df 100644 (file)
@@ -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,
                               int timeout);
 
+#ifdef CONFIG_EPOLL
+
 /* Used to initialize the epoll bits inside the "struct file" */
 void eventpoll_init_file(struct file *file);
 
 /* Used in fs/file_table.c:__fput() to unlink files from the eventpoll interface */
 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 /* #ifndef _LINUX_EVENTPOLL_H */
index da63acb275c0a881fedfad1c2eebedc69fd0ba0f..d3a9874335aa1302676cbd574b464338e4772c00 100644 (file)
@@ -125,6 +125,13 @@ config FUTEX
          support for "fast userspace mutexes".  The resulting kernel may not
          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
 
 
index a4d19c51b00e862f20c45cc5f8f9636b2c41aaff..5c2c439ae6bc1d3f9ed7500809b0f3e37200518a 100644 (file)
@@ -228,6 +228,9 @@ cond_syscall(sys_recvmsg)
 cond_syscall(sys_socketcall)
 cond_syscall(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)
 {