Re: Syslets, Threadlets, generic AIO support, v6

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ingo Molnar
Date: Wednesday, May 30, 2007 - 6:02 am

* Jeff Garzik <jeff@garzik.org> wrote:


event rings are just pure data structures that describe a set of data, 
and they have advantages and disadvantages. For the record, we've 
already got direct experience with rings as software APIs: they were 
used for KAIO and they were an implementational and maintainance 
nightmare and nobody used them. Kevent might be better, but you make it 
sound as if it was a trivial design choice while it certainly isnt!

Sure, for hardware interfaces like networking cards tx and rx rings are 
the best thing but that is apples to oranges: hardware itself is about 
_limited_ physical resources, matching a _limited_ data structure like a 
ring quite well. But for software APIs, the built-in limit of rings 
makes it a baroque data structure that has a fair share disadvantages in 
addition to its obvious advantages.


epoll is very much is capable of doing it - but why bother if something 
more flexible than a ring can be used and the performance difference is 
negligible? (Read my other reply in this thread for further points.)

but, for the record, syslets very much use a completion ring, so i'm not 
fundamentally opposed to the idea. I just think it's seriously 
over-hyped, just like most other bits of the kevent approach. (Nor do we 
have to attach this to syslets and threadlets - kevents are an 
orthogonal approach not directly related to asynchronous syscalls - 
syslets/threadlets can make use of epoll just as much as they can make 
use of kevent APIs.)

	Ingo
-
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)