Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ingo Molnar
Date: Wednesday, February 28, 2007 - 3:22 pm

* Davide Libenzi <davidel@xmailserver.org> wrote:


yep, i've just released -v5.


we talked about the parameters at length: if they are pointers the 
layout is significantly more flexible and more capable. It's a pretty 
similar argument to the return-pointer thing. For example take a look at 
how the IO syslet atoms in Jens' FIO engine share the same fd. Even if 
there's 20000 of them. And they are fully cacheable in constructed 
state. The same goes for the webserving examples i've got in the 
async-test userspace sample code. I can pick up a cached request and 
only update req->fd, i dont have to reinit the atoms at all. It stays 
nicely in the cache, is not re-dirtied, etc.

furthermore, having the parameters as pointers is also an optimization: 
look at the copy_uatom() x86 assembly code i did - it can do a simple 
jump out of the parameter fetching code. I actually tried /both/ of 
these variants in assembly (as i mentioned it in a previous reply, in 
the v1 thread) and the speed difference between a pointer and 
non-pointer variant was negligible. (even with 6 parameters filled in)

but yes ... another two more small changes and your layout will be 
awfully similar to the current uatom layout =B-)


i call bullshit. really. I have just gone out and wasted some time 
cutting & pasting all the syslet engine code: it is 153 lines total, 
plus 51 lines of comments. The total patchset in comparison is:

 35 files changed, 1890 insertions(+), 71 deletions(-)

(and this over-estimates it because if this got removed then we'd still 
have to add an async execution syscall.) And the code is pretty compact 
and self-contained. Threadlets share much of the infrastructure with 
syslets: for example the completion ring code is _100%_ shared, the 
async execution code is 98% shared.

You are free to not like it though, and i'm willing to change any aspect 
of the API to make it more intuitive and more useful, but calling it 
'complexity' at this point is just handwaving. And believe it or not, a 
good number of people actually find syslets pretty cool.


sure, if we debate its virtualization driven market penetration via self 
promoting technologies that also drive customer satisfaction, then we'll 
be able to increase shareholder value by improving the user experience 
and we'll also succeed in turning this vision into a supply/demand 
marketplace. Or not?

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

Messages in current thread:
[patch 03/13] syslets: generic kernel bits, Ingo Molnar, (Wed Feb 21, 2:15 pm)
[patch 04/13] syslets: core code, Ingo Molnar, (Wed Feb 21, 2:15 pm)
[patch 05/13] syslets: core, documentation, Ingo Molnar, (Wed Feb 21, 2:15 pm)
[patch 06/13] x86: split FPU state from task state, Ingo Molnar, (Wed Feb 21, 2:15 pm)
[patch 09/13] syslets: x86, mark async unsafe syscalls, Ingo Molnar, (Wed Feb 21, 2:15 pm)
[patch 10/13] syslets: x86: enable ASYNC_SUPPORT, Ingo Molnar, (Wed Feb 21, 2:15 pm)
[patch 12/13] syslets: x86: optimized copy_uatom(), Ingo Molnar, (Wed Feb 21, 2:15 pm)
[patch 13/13] syslets: x86: optimized sys_umem_add(), Ingo Molnar, (Wed Feb 21, 2:16 pm)
Re: x86 hardware and transputers (Re: [patch 00/13] Syslet ..., Michael K. Edwards, (Thu Feb 22, 1:45 pm)
Re: A quick fio test (was Re: [patch 00/13] Syslets, &quot;Thre ..., Suparna Bhattacharya, (Fri Feb 23, 6:55 am)
Re: A quick fio test (was Re: [patch 00/13] Syslets, &quot;Thre ..., Suparna Bhattacharya, (Fri Feb 23, 8:15 am)
Re: A quick fio test (was Re: [patch 00/13] Syslets, &quot;Thre ..., Suparna Bhattacharya, (Fri Feb 23, 10:13 am)
Re: [patch 04/13] syslets: core code, Davide Libenzi, (Fri Feb 23, 4:08 pm)
Re: [patch 04/13] syslets: core code, Ingo Molnar, (Sat Feb 24, 12:04 am)
[patchset] Syslets/threadlets, generic AIO support, v4, Ingo Molnar, (Sat Feb 24, 12:41 am)
Re: [patch 04/13] syslets: core code, Davide Libenzi, (Sat Feb 24, 2:10 pm)
Re: [patch 04/13] syslets: core code, Kyle Moffett, (Sat Feb 24, 3:08 pm)
Re: [patch 04/13] syslets: core code, Davide Libenzi, (Sat Feb 24, 3:25 pm)
Re: [patch 04/13] syslets: core code, Ingo Molnar, (Sun Feb 25, 12:59 am)
Threadlet/syslet v4 bug report., Evgeniy Polyakov, (Sun Feb 25, 7:33 am)
Re: A quick fio test (was Re: [patch 00/13] Syslets, &quot;Thre ..., Suparna Bhattacharya, (Mon Feb 26, 7:13 am)
Re: [patch 05/13] syslets: core, documentation, Randy Dunlap, (Mon Feb 26, 2:32 pm)
Re: A quick fio test (was Re: [patch 00/13] Syslets, &quot;Thre ..., Suparna Bhattacharya, (Mon Feb 26, 9:33 pm)
Re: [patch 05/13] syslets: core, documentation, Ingo Molnar, (Mon Feb 26, 11:20 pm)
Re: A quick fio test (was Re: [patch 00/13] Syslets, &quot;Thre ..., Suparna Bhattacharya, (Tue Feb 27, 5:39 am)
Re: [patch 00/13] Syslets, "Threadlets", generic AIO suppo ..., Ingo Molnar, (Wed Feb 28, 3:22 pm)