LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd
@ 2007-02-04 22:55 bert hubert
2007-02-05 0:15 ` Davide Libenzi
0 siblings, 1 reply; 3+ messages in thread
From: bert hubert @ 2007-02-04 22:55 UTC (permalink / raw)
To: Zach Brown
Cc: Benjamin LaHaise, Ingo Molnar, linux-kernel, linux-aio,
Suparna Bhattacharya, Linus Torvalds
>From two comments posted to my "blog"
http://blog.netherlabs.nl/articles/2007/02/04/a-synchronous-programming
Excerpted from the diary of Dragonfly BSD,
http://www.dragonflybsd.org/status/diary.shtml
Remove the asynchronous syscall interface. It was an idea before its time.
However, keep the formalization of the syscall arguments structures.
The original async syscall interface was committed in
http://leaf.dragonflybsd.org/mailarchive/commits/2004-08/msg00067.html
Comment by Jan Kneschke, lighttpd developer, noting the lack of and need for
aio_stat():
Reading this article feels like reading the code I wrote in the last days
for lighttpd. Even if the network-io was async since the start
(non-blocking), the file-io wasn't. Worst of all was the stat() syscall
which doesn't have a async interface even in POSIX AIO. So it had to be
implemented with threads on our own. At http://www.lighttpd.net/benchmark/
you can see the impact of async vs. blocking syscalls.
Perhaps relevant.
--
http://www.PowerDNS.com Open source, database driven DNS Software
http://netherlabs.nl Open and Closed source services
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd
2007-02-04 22:55 regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd bert hubert
@ 2007-02-05 0:15 ` Davide Libenzi
2007-02-05 6:46 ` Christopher Smith
0 siblings, 1 reply; 3+ messages in thread
From: Davide Libenzi @ 2007-02-05 0:15 UTC (permalink / raw)
To: bert hubert
Cc: Zach Brown, Benjamin LaHaise, Ingo Molnar,
Linux Kernel Mailing List, linux-aio, Suparna Bhattacharya,
Linus Torvalds
On Sun, 4 Feb 2007, bert hubert wrote:
> >From two comments posted to my "blog"
> http://blog.netherlabs.nl/articles/2007/02/04/a-synchronous-programming
>
> Excerpted from the diary of Dragonfly BSD,
> http://www.dragonflybsd.org/status/diary.shtml
>
> Remove the asynchronous syscall interface. It was an idea before its time.
> However, keep the formalization of the syscall arguments structures.
>
> The original async syscall interface was committed in
> http://leaf.dragonflybsd.org/mailarchive/commits/2004-08/msg00067.html
>
> Comment by Jan Kneschke, lighttpd developer, noting the lack of and need for
> aio_stat():
>
> Reading this article feels like reading the code I wrote in the last days
> for lighttpd. Even if the network-io was async since the start
> (non-blocking), the file-io wasn't. Worst of all was the stat() syscall
> which doesn't have a async interface even in POSIX AIO. So it had to be
> implemented with threads on our own. At http://www.lighttpd.net/benchmark/
> you can see the impact of async vs. blocking syscalls.
>
> Perhaps relevant.
Yes, that is some very interesting data IMO. I did not bench the GUASI
(userspace async thread library) against AIO, but those numbers show that a
*userspace* async syscall wrapper interface performs in the ballpark of AIO.
This leads to some hope about the ability to effectively deploy the kernel
generic async AIO (being it fibril or kthreads based) as low-impact async
provider for basically anything.
- Davide
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd
2007-02-05 0:15 ` Davide Libenzi
@ 2007-02-05 6:46 ` Christopher Smith
0 siblings, 0 replies; 3+ messages in thread
From: Christopher Smith @ 2007-02-05 6:46 UTC (permalink / raw)
To: Davide Libenzi
Cc: bert hubert, Zach Brown, Benjamin LaHaise, Ingo Molnar,
Linux Kernel Mailing List, linux-aio, Suparna Bhattacharya,
Linus Torvalds
Davide Libenzi wrote:
> Yes, that is some very interesting data IMO. I did not bench the GUASI
> (userspace async thread library) against AIO, but those numbers show that a
> *userspace* async syscall wrapper interface performs in the ballpark of AIO.
> This leads to some hope about the ability to effectively deploy the kernel
> generic async AIO (being it fibril or kthreads based) as low-impact async
> provider for basically anything.
>
SGI's kaio patch to linux kind of went that route (using kthreads) for
non-SCSI async IO. It wasn't a bad way to go, but at least for
disk-based access they achieved much better results when they could go
right to the hardware.
--Chris
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-02-05 7:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-04 22:55 regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd bert hubert
2007-02-05 0:15 ` Davide Libenzi
2007-02-05 6:46 ` Christopher Smith
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).