mmap'ed /dev/poll patches for Linux-2.2.14. ------------------------------------------ patch-2.2.14-devpoll Includes the implementation of a /dev/poll that can be memory mapped to share the table of struct pollfd * between the user process and the kernel. This avoids all copies normally associated with select() or poll(). The device supports three different ioctl() calls: DP_ALLOC, DP_FREE, and DP_POLL. Look at devpoll-sample.c to see how they are used. Applies against Linux kernel v2.2.14. Create the device in /dev with mknod poll c 10 125 thttpd-2.15-devpoll.diff Supports a memory mapped /dev/poll instead of the poll system call. Avoids all poll related user space to kernel space copies and vice versa. Applies against the thttpd-2.15 distribution. devpoll-sample.c A userland program that uses /dev/poll. [These have been moved into the attic, you can find the official patches at http://www.citi.umich.edu/projects/linux-scalability/patches/] Hinting system patches for Linux-2.2.9. --------------------------------------- hintvsnohint.ps graph from a benchmark with httperf-0.6 and thttpd-2.04 over loopback on a 450 MHz 4-waz Xeon. patch-2.3.15-hinting adds hinting to select()/poll(). At the moment only network sockets use hinting. It would be easy to extent that to different subsystems. patch-2.2.9-ac4-niels support for large filedescriptor sets, taken from 2.2.7-ac4. patch-2.2.9-hinting adds hinting to select()/poll(). At the moment only network sockets use hinting. It would be easy to extent that to different subsystems. Apply patch-2.2.9-ac4-niels first. patch-2.2.9-np-bitmap two level bitmap structure for finding a new file descriptor in open. Results in faster file descriptor allocation for processes with many open fds.