Syslets, Threadlets, generic AIO support, v6

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Zach Brown
Date: Tuesday, May 29, 2007 - 2:27 pm

I'm pleased to announce the availability of version 6 of the syslet subsystem.
Ingo and I agreed that I'll handle syslet releases while he's busy with CFS.  I
copied the cc: list from Ingo's v5 announcement.  If you'd like to be dropped
(or added), please let me know.

The v6 patch series against 2.6.21 can be downloaded from:

  http://oss.oracle.com/~zab/syslets/v6/

Example applications and previous syslet releases can be found at:

 http://people.redhat.com/~mingo/syslet-patches/
  
The syslet subsystem aims to provide user-space with an efficient interface for
managing the asynchronus submission and completion of existing system calls.

The only changes since v5 are small changes that I made to support the
experimental aio patch described below.

My syslet subsystem todo list is as follows, in no particular order:

 - replace WARN_ON() calls with error handling or avoidance
 - split the x86_64-async.patch into more specific patches
 - investigate integration with ptrace
 - investigate rare ./syslet-test cpu spinning
 - provide distro kernel rpms and documentation for developers
 - compat design problems, still? http://lkml.org/lkml/2007/3/7/523

Included in this patch series is an experimental patch which reworks fs/aio.c
to reuse the syslet subsystem to process iocb requests from user space.  The
intent of this work is to simplify the code and broaden aio functionality.  

Many issues need to be addressed before this aio work could be merged:

 - support cancellation by sending signals to async_threads 
 - figure out what to do about signals from handlers, like SIGXFSZ
 - verify that heavy loads do not consume excessive cpu or memory 
 - concurrent dio writes
 - cfq gets confused, share io_context amongst threads?
 - restrict allowed operations like .aio_{r,w} methods used to

More details on this work in progress can be found in the patch.

Any and all feedback is welcome and encouraged!

 - z
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Tue May 29, 2:27 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Tue May 29, 2:49 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeff Garzik, (Tue May 29, 3:16 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Tue May 29, 3:49 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Tue May 29, 4:09 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Tue May 29, 4:20 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Dave Jones, (Tue May 29, 6:11 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 12:20 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 12:26 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 12:31 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 12:40 am)
Re: Syslets, Threadlets, generic AIO support, v6, Evgeniy Polyakov, (Wed May 30, 1:32 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 1:42 am)
Re: Syslets, Threadlets, generic AIO support, v6, Evgeniy Polyakov, (Wed May 30, 1:51 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 1:54 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 2:05 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jeff Garzik, (Wed May 30, 2:28 am)
Re: Syslets, Threadlets, generic AIO support, v6, Evgeniy Polyakov, (Wed May 30, 2:30 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 6:02 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 6:20 am)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 8:16 am)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 8:31 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 8:39 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 9:09 am)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Wed May 30, 9:55 am)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Wed May 30, 10:08 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 10:33 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 10:57 am)
Re: Syslets, Threadlets, generic AIO support, v6, Mark Lord, (Wed May 30, 12:05 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 12:10 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 12:15 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 12:32 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 12:40 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 12:52 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 12:55 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 1:00 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 1:07 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 1:21 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 1:31 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 1:31 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 1:44 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 1:46 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 2:16 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 2:27 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 2:31 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeremy Fitzhardinge, (Wed May 30, 2:36 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeremy Fitzhardinge, (Wed May 30, 2:38 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 2:39 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 2:44 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 2:47 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 2:48 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 2:48 pm)
Re: Syslets, Threadlets, generic AIO support, v6, David M. Lloyd, (Wed May 30, 2:51 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 2:53 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeremy Fitzhardinge, (Wed May 30, 2:54 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 3:01 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 3:06 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 3:09 pm)
Re: Syslets, Threadlets, generic AIO support, v6, William Lee Irwin III, (Wed May 30, 3:24 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Matt Mackall, (Wed May 30, 3:27 pm)
Re: Syslets, Threadlets, generic AIO support, v6, William Lee Irwin III, (Wed May 30, 3:38 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 11:13 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Thu May 31, 12:35 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 2:02 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 2:26 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 2:32 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Thu May 31, 2:34 am)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Thu May 31, 3:41 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 3:50 am)