Index of /flex

Icon  Name                    Last modified      Size  Description
[   ] CHANGELOG 02-Feb-2005 16:30 3.1K [CMP] epoll-lib-0.11.tar.gz 02-Feb-2005 16:30 37K [CMP] flex-040908.tar.gz 02-Feb-2005 16:30 130K [CMP] flex-040910.tar.gz 02-Feb-2005 16:30 133K [CMP] flex-040919.tar.gz 02-Feb-2005 16:30 137K [CMP] flex-040920.tar.gz 02-Feb-2005 16:30 137K [CMP] flex-040922.tar.gz 02-Feb-2005 16:30 139K [CMP] flex-040927.tar.gz 02-Feb-2005 16:30 139K [CMP] flex-041002.tar.gz 02-Feb-2005 16:30 139K [CMP] flex-050202-BROKEN.t..> 02-Feb-2005 16:34 137K [CMP] libaio-0.3.99.tar.gz 02-Feb-2005 16:30 45K [DIR] 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
tests/	        test programs and microbench marks

To run, 

1. Make sure libepoll is installed 
  (, 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
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