[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: Asynchronous IO - Posix AIO
From:       Terry Lambert <terry () lambert ! org>
Date:       1996-07-30 22:00:11
[Download RAW message or body]

>     I have need of an AIO subsystem and have been thinking about how I
> might do a partial Posix AIO implementation under FreeBSD.  Has
> anyone else given this any thoughts?
> 
>     Would this best be done via a user side library, via new system
> calls, via a mix of both, etc.  Any thoughts on this would be greatly
> appreciated.

I think the correct thing to do is create an alternate call gate and
aiowait/aiocancel calls, plus kernel context records, and add a flag to
each system call to indicate that it is potentially blocking or not.
Then "aioread" is "read using async call gate" and "aiowrite" is
"write using async call gate".

The reasoning is that things other than read/write can also block,
and you might want to trade the block for queue + context switch
(the POSIX AIO was originally for support of SunOS LWP ALA the
University of Washington paper on "SPARC Register Windows and User
Space Threading").

This would also let you write "team" in one process... 8-).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic