Index of /flex
Name Last modified Size Description
CHANGELOG 02-Feb-2005 16:30 3.1K
epoll-lib-0.11.tar.gz 02-Feb-2005 16:30 37K
flex-040908.tar.gz 02-Feb-2005 16:30 130K
flex-040910.tar.gz 02-Feb-2005 16:30 133K
flex-040919.tar.gz 02-Feb-2005 16:30 137K
flex-040920.tar.gz 02-Feb-2005 16:30 137K
flex-040922.tar.gz 02-Feb-2005 16:30 139K
flex-040927.tar.gz 02-Feb-2005 16:30 139K
flex-041002.tar.gz 02-Feb-2005 16:30 139K
flex-050202-BROKEN.t..> 02-Feb-2005 16:34 137K
libaio-0.3.99.tar.gz 02-Feb-2005 16:30 45K
old/ 02-Feb-2005 16:31 -
2.6 Patches for unified async I/O and user-level scheduling
libpatches/ libaio patches (against libaio-0.3.99)
kernel/patches kernel patch (against 2.6.8.1)
tests/ test programs and microbench marks
To run,
1. Make sure libepoll is installed
(http://www.xmailserver.org/linux-patches/nio-improve.html, bottom of
the page)
2. Apply the patches in kernel/patches. Read the 'series' file for
the order to apply. Compile and install the patched kernel.
3. Apply patches in libpatches/ to libaio 0.3.99, available at
ftp://fr2.rpmfind.net/linux/fedora/core/development/SRPMS/libaio-0.3.99-3.src.rpm
Compile and install the patched libaio.
4. Go to tests/. Make and run the tests.
A list of stuff currently implemented (in the order of application),
o epoll_over_aio.patch: A unified event queue for disk, network and
other events (e.g. page fault completion). Kernel changes are
implemented to deliver both AIO and epoll events through the same
event queue. See tests/epio_test.c and tests/pipetest.c. pipetest is
adapted from the epoll pipetest micro-benchmark.
o epoll_over_aio_lockless.patch: Mmapped, lockless, fast event reaping
(based on Kenneth Chen's patch)
o pagefault_notification.patch: User-level page fault handling. See
tests/pagefault.c for usage example
o io_submit_try.patch (broken): Semi-asynchronous I/O using
io_submit_try(). See tests/trysubmit.c
Feng Zhou
Modified: 2/2/2005