All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
@ 2007-02-21 21:13 Ingo Molnar
  2007-02-21 21:14 ` [patch 01/13] syslets: add async.h include file, kernel-side API definitions Ingo Molnar
                   ` (18 more replies)
  0 siblings, 19 replies; 353+ messages in thread
From: Ingo Molnar @ 2007-02-21 21:13 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Torvalds, Arjan van de Ven, Christoph Hellwig,
	Andrew Morton, Alan Cox, Ulrich Drepper, Zach Brown,
	Evgeniy Polyakov, David S. Miller, Suparna Bhattacharya,
	Davide Libenzi, Jens Axboe, Thomas Gleixner

this is the v3 release of the syslet/threadlet subsystem:

   http://redhat.com/~mingo/syslet-patches/

This release came a few days later than i originally wanted, because 
i've implemented many fundamental changes to the code. The biggest 
highlights of v3 are:

 - "Threadlets": the introduction of the 'threadlet' execution concept.

 - syslets: multiple rings support with no kernel-side footprint, the 
   elimination of mlock() pinning, no async_register/unregister() calls 
   needed anymore and more.

"Threadlets" are basically the user-space equivalent of syslets: small 
functions of execution that the kernel attempts to execute without 
scheduling. If the threadlet blocks, the kernel creates a real thread 
from it, and execution continues in that thread. The 'head' context (the 
context that never blocks) returns to the original function that called 
the threadlet. Threadlets are very easy to use:

long my_threadlet_fn(void *data)
{
	char *name = data;
	int fd;

	fd = open(name, O_RDONLY);
	if (fd < 0)
		goto out;

	fstat(fd, &stat);
	read(fd, buf, count)
	...

out:
	return threadlet_complete();
}


main()
{
	done = threadlet_exec(threadlet_fn, new_stack, &user_head);
	if (!done)
		reqs_queued++;
}

There is no limitation whatsoever about how a threadlet function can 
look like: it can use arbitrary system-calls and all execution will be 
procedural. There is no 'registration' needed when running threadlets 
either: the kernel will take care of all the details, user-space just 
runs a threadlet without any preparation and that's it.

Completion of async threadlets can be done from user-space via any of 
the existing APIs: in threadlet-test.c (see the async-test-v3.tar.gz 
user-space examples at the URL above) i've for example used a futex 
between the head and the async threads to do threadlet notification. But 
select(), poll() or signals can be used too - whichever is most 
convenient to the application writer.

Threadlets can also be thought of as 'optional threads': they execute in 
the original context as long as they do not block, but once they block, 
they are moved off into their separate thread context - and the original 
context can continue execution.

Threadlets can also be thought of as 'on-demand parallelism': user-space 
does not have to worry about setting up, sizing and feeding a thread 
pool - the kernel will execute the workload in a single-threaded manner 
as long as it makes sense, but once the context blocks, a parallel 
context is created. So parallelism inside applications is utilized in a 
natural way. (The best place to do this is in the kernel - user-space 
has no idea about what level of parallelism is best for any given 
moment.)

I believe this threadlet concept is what user-space will want to use for 
programmable parallelism.

[ Note that right now there's a pair of system-calls: sys_threadlet_on() 
  and sys_threadlet_off() that demarks the beginning and the end of a 
  syslet function, which enter the kernel even in the 'cached' case - 
  but my plan is to do these two system calls via a vsyscall, without 
  having to enter the kernel at all. That will reduce cached threadlet 
  execution NULL-overhead to around 10 nsecs - making it essentially 
  zero. ]

Threadlets share much of the scheduling infrastructure with syslets.

Syslets (small, kernel-side, scripted "syscall plugins") are still 
supported - they are (much...) harder to program than threadlets but 
they allow the highest performance. Core infrastructure libraries like 
glibc/libaio are expected to use syslets. Jens Axboe's FIO tool already 
includes support for v2 syslets, and the following patch updates FIO to 
the v3 API:

   http://redhat.com/~mingo/syslet-patches/fio-syslet-v3.patch

Furthermore, the syslet code and API has been significantly enhanced as 
well:

 - support for multiple completion rings has been added

 - there is no more mlock()ing of the completion ring(s)

 - sys_async_register()/unregister() has been removed as it is not 
   needed anymore. sys_async_exec() can be called straight away.

 - there is no kernel-side resource used up by async completion rings at 
   all (all the state is in user-space), so an arbitrary number of
   completion rings are supported.

plus lots of bugs were fixed and a good number of cleanups were done as 
well. The v3 code is ABI-incompatible with v2, due to these fundamental 
changes.

As always, comments, suggestions, reports are welcome.

	Ingo

^ permalink raw reply	[flat|nested] 353+ messages in thread
* Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
@ 2007-02-22 12:27 linux
  2007-02-22 13:40 ` David Miller
  0 siblings, 1 reply; 353+ messages in thread
From: linux @ 2007-02-22 12:27 UTC (permalink / raw)
  To: mingo; +Cc: linux, linux-kernel

May I just say, that this is f***ing brilliant.
It completely separates the threadlet/fibril core from the (contentious)
completion notification debate, and allows you to use whatever mechanism
you like.  (fd, signal, kevent, futex, ...)

You can also add a "macro syscall" like the original syslet idea,
and it can be independent of the threadlet mechanism but provide the
same effects.

If the macros can be designed to always exit when donew, a guarantee
never to return to user space, then you can always recycle the stack
after threadlet_exec() returns, whether it blocked in the syscall or not,
and you have your original design.


May I just suggest, however, that the interface be:
	tid = threadlet_exec(...)
Where tid < 0 means error, tid == 0 means completed synchronously,
and tod > 0 identifies the child so it can be waited for?


Anyway, this is a really excellent user-space API.  (You might add some
sort of "am I synchronous?" query, or maybe you could just use gettid()
for the purpose.)

The one interesting question is, can you nest threadlet_exec() calls?
I think it's implementable, and I can definitely see the attraction
of being able to call libraries that use it internally (to do async
read-ahead or whatever) from a threadlet function.

^ permalink raw reply	[flat|nested] 353+ messages in thread
* Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
@ 2007-02-25 19:10 Al Boldi
  0 siblings, 0 replies; 353+ messages in thread
From: Al Boldi @ 2007-02-25 19:10 UTC (permalink / raw)
  To: linux-kernel

Ingo Molnar wrote:
> if you create a threadlet based test-webserver, could you please do a
> comparable kevents implementation as well? I.e. same HTTP parser (or
> non-parser, as usually the case is with prototypes ;). Best would be
> something that one could trigger between threadlet and kevent mode,
> using the same binary :-)

Now, why would you want this?

Is there some performance issue with separately loaded binaries?


Thanks!

--
Al


^ permalink raw reply	[flat|nested] 353+ messages in thread
* Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
@ 2007-02-25 19:11 Al Boldi
  0 siblings, 0 replies; 353+ messages in thread
From: Al Boldi @ 2007-02-25 19:11 UTC (permalink / raw)
  To: linux-kernel

Ingo Molnar wrote:
> now look at kevents as the queueing model. It does not queue 'tasks', it
> lets user-space queue requests in essence, in various states. But it's
> still the same conceptual thing: a memory buffer with some state
> associated to it. Yes, it has no legacies, it has no priorities and
> other queueing concepts attached to it ... yet. If kevents got
> mainstream, it would get the same kind of pressure to grow 'more
> advanced' event queueing and event scheduling capabilities.
> Prioritization would be needed, etc.

But it would probably be tuned specifically to its use case, which would mean 
inherently better performance.

> So my fundamental claim is: a kernel thread /is/ our main request
> structure. We've got tons of really good system calls that queue these
> 'requests' around the place and offer functionality around this concept.
> Plus there's a 1.2+ billion lines of Linux userspace code that works
> well with this abstraction - while there's nary a few thousand lines of
> event-based user-space code.

Think of the kernel scheduler as a default fallback scheduler, for procs that 
are randomly queued.  Anytime you can identify a group of procs/threads that 
behave in a similar way, it's almost always best to do specific/private 
scheduling, for performance reasons.

> I also say that you'll likely get kevents outperform threadlets. Maybe
> even significantly so under the right conditions. But i very much
> believe we want to get similar kind of performance out of thread/task
> scheduling, and not introduce a parallel framework to do request
> scheduling the hard way ... just because our task concept and scheduling
> implementation got too fat. For the same reason i didnt really like
> fibrils: they are nice, and Zach's core idea i think nicely survived in
> the syslet/threadlet model too, but they are more limited than true
> threads. So doing that parallel infrastructure, which really just
> implements the same, and is only faster because it skips features, would
> just be hiding the problem with our primary abstraction. Ok?

Ok.  But what you are proposing here is a dynamically plugable scheduler that 
is extensible on top of that.

Sounds Great!


Thanks!

--
Al


^ permalink raw reply	[flat|nested] 353+ messages in thread
* Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
@ 2007-02-27 14:15 Al Boldi
  2007-02-27 19:22 ` Theodore Tso
  2007-03-01 10:21 ` Pavel Machek
  0 siblings, 2 replies; 353+ messages in thread
From: Al Boldi @ 2007-02-27 14:15 UTC (permalink / raw)
  To: linux-kernel

Theodore Tso wrote:
> On Tue, Feb 27, 2007 at 01:28:32PM +0300, Evgeniy Polyakov wrote:
> > Obviously there are bugs, it is simply how things work.
> > And debugging state machine code has exactly the same complexity as
> > debugging multi-threading code - if not less...
>
> Evgeniy,
>
> I think what you are not hearing, and what everyone else is saying
> (INCLUDING Linus),

Excluding possibly many others.

> is that for most programmers, state machines are
> much, much harder to program, understand, and debug compared to
> multi-threaded code.

That's why you introduce an infrastructure that hides all the nitty-gritty 
plumbing, and makes it easy to use.

> You may disagree (were you a MacOS 9 programmer
> in another life?), and it may not even be true for you if you happen
> to be one of those folks more at home with Scheme continuations, for
> example.

Personal attacks are really rather unhelpful/unscientific.

> But it is true that for most kernel programmers, threaded
> programming is much easier to understand, and we need to engineer the
> kernel for what will be maintainable for the majority of the kernel
> development community.

What's probably true is that, for a kernel to stay competitive you need two 
distinct traits:

1. Stability
2. Performance

And you can't get that, by arguing that the kernel development community 
doesn't have the brains to code for performance, which I dearly doubt.

So, instead of using intimidating language to force one's opinion thru, 
especially when it comes from those in control, why not have a democratic 
vote?


Thanks!

--
Al


^ permalink raw reply	[flat|nested] 353+ messages in thread
* Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
@ 2007-02-27 14:15 Al Boldi
  0 siblings, 0 replies; 353+ messages in thread
From: Al Boldi @ 2007-02-27 14:15 UTC (permalink / raw)
  To: linux-kernel

Evgeniy Polyakov wrote:
> Ingo Molnar (mingo@elte.hu) wrote:
> > based servers. The measurements so far have shown that the absolute
> > worst-case threading server performance is at around 60% of that of
> > non-context-switching servers - and even that level is reached
> > gradually, leaving time for action for the server owner. While with
> > fully event based servers there are mostly only two modes of
> > performance: 100% performance and near-0% performance: total breakdown.
>
> Let's live in piece! :)
> I always agreed that they should be used together - event-based rings
> of IO requests, if request happens to block (which should be avaided
> as much as possible), then it continues on behalf of sleeping thread.

Agreed 100%.  Notify always when you can, thread only when you must.


Thanks!

--
Al


^ permalink raw reply	[flat|nested] 353+ messages in thread
[parent not found: <efa6f5910703021120ia0b8d18ne0c806eb2e73da4c@mail.gmail.com>]

end of thread, other threads:[~2007-03-07 18:40 UTC | newest]

Thread overview: 353+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-21 21:13 [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Ingo Molnar
2007-02-21 21:14 ` [patch 01/13] syslets: add async.h include file, kernel-side API definitions Ingo Molnar
2007-02-21 21:15 ` [patch 02/13] syslets: add syslet.h include file, user API/ABI definitions Ingo Molnar
2007-02-21 21:15 ` [patch 03/13] syslets: generic kernel bits Ingo Molnar
2007-02-21 21:15 ` [patch 04/13] syslets: core code Ingo Molnar
2007-02-23 23:08   ` Davide Libenzi
2007-02-24  7:04     ` Ingo Molnar
2007-02-24 21:10       ` Davide Libenzi
2007-02-24 22:08         ` Kyle Moffett
2007-02-24 22:25           ` Davide Libenzi
2007-02-25  7:59             ` Ingo Molnar
2007-02-21 21:15 ` [patch 05/13] syslets: core, documentation Ingo Molnar
2007-02-26 21:32   ` Randy Dunlap
2007-02-27  6:20     ` Ingo Molnar
2007-02-21 21:15 ` [patch 06/13] x86: split FPU state from task state Ingo Molnar
2007-02-21 21:15 ` [patch 07/13] syslets: x86, add create_async_thread() method Ingo Molnar
2007-02-21 21:15 ` [patch 08/13] syslets: x86, add move_user_context() method Ingo Molnar
2007-02-21 23:03   ` Davide Libenzi
2007-02-21 23:20     ` Ingo Molnar
2007-02-22  4:10       ` Davide Libenzi
2007-02-21 21:15 ` [patch 09/13] syslets: x86, mark async unsafe syscalls Ingo Molnar
2007-02-21 21:15 ` [patch 10/13] syslets: x86: enable ASYNC_SUPPORT Ingo Molnar
2007-02-21 21:15 ` [patch 11/13] syslets: x86, wire up the syslet system calls Ingo Molnar
2007-02-21 21:15 ` [patch 12/13] syslets: x86: optimized copy_uatom() Ingo Molnar
2007-02-21 21:16 ` [patch 13/13] syslets: x86: optimized sys_umem_add() Ingo Molnar
2007-02-21 22:46 ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Michael K. Edwards
2007-02-21 22:57   ` Ingo Molnar
2007-02-22  0:53     ` Michael K. Edwards
2007-02-22  1:33       ` Michael K. Edwards
2007-02-22  6:51       ` Ingo Molnar
2007-02-22  8:59         ` Michael K. Edwards
2007-02-22 19:52           ` x86 hardware and transputers (Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3) Oleg Verych
2007-02-22 20:45             ` Michael K. Edwards
2007-02-21 23:03   ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Ingo Molnar
2007-02-21 23:24   ` Ingo Molnar
2007-02-22  0:55     ` Michael K. Edwards
2007-02-21 23:31   ` Ingo Molnar
2007-02-21 23:46     ` Ulrich Drepper
2007-02-22  7:40       ` Ingo Molnar
2007-02-22 11:31         ` Evgeniy Polyakov
2007-02-22 11:52           ` Arjan van de Ven
2007-02-22 12:39             ` Evgeniy Polyakov
2007-02-22 13:41               ` David Miller
2007-02-22 14:31                 ` Ingo Molnar
2007-02-22 14:47                   ` David Miller
2007-02-22 15:02                     ` Evgeniy Polyakov
2007-02-22 15:15                     ` Ingo Molnar
2007-02-22 15:29                       ` Ingo Molnar
2007-02-22 17:17                       ` David Miller
2007-02-23 11:12                         ` Ingo Molnar
2007-02-22 20:13                     ` Davide Libenzi
2007-02-22 21:30                     ` Zach Brown
2007-02-22 14:59                   ` Ingo Molnar
2007-02-22 21:42                   ` Michael K. Edwards
2007-02-22 14:53                 ` Avi Kivity
2007-02-22 12:59           ` Ingo Molnar
2007-02-22 13:32             ` Evgeniy Polyakov
2007-02-22 19:46               ` Davide Libenzi
2007-02-23 12:15                 ` Evgeniy Polyakov
2007-02-23 17:43                   ` Davide Libenzi
2007-02-23 18:01                     ` Evgeniy Polyakov
2007-02-23 20:43                       ` Davide Libenzi
2007-02-23 11:51               ` Ingo Molnar
2007-02-23 12:22                 ` Evgeniy Polyakov
2007-02-23 12:41                   ` Evgeniy Polyakov
2007-02-25 17:45                   ` Ingo Molnar
2007-02-25 18:09                     ` Evgeniy Polyakov
2007-02-25 19:04                       ` Ingo Molnar
2007-02-25 19:42                         ` Evgeniy Polyakov
2007-02-25 20:38                           ` Ingo Molnar
2007-02-26 12:39                           ` Ingo Molnar
2007-02-26 14:05                             ` Evgeniy Polyakov
2007-02-26 14:15                               ` Ingo Molnar
2007-02-26 16:55                                 ` Evgeniy Polyakov
2007-02-26 20:35                                   ` Ingo Molnar
2007-02-26 22:06                                     ` Bill Huey
2007-02-27 10:09                                     ` Evgeniy Polyakov
2007-02-27 17:13                                     ` Pavel Machek
2007-02-27  2:18                                   ` Davide Libenzi
2007-02-27 10:13                                     ` Evgeniy Polyakov
2007-02-27 16:01                                       ` Davide Libenzi
2007-02-27 16:21                                         ` Evgeniy Polyakov
2007-02-27 16:58                                           ` Eric Dumazet
2007-02-27 17:06                                             ` Evgeniy Polyakov
2007-02-27 19:20                                           ` Davide Libenzi
2007-02-26 19:47                           ` Davide Libenzi
2007-02-25 23:14                         ` Michael K. Edwards
2007-02-22 14:17             ` Suparna Bhattacharya
2007-02-22 14:36               ` Ingo Molnar
2007-02-23 14:23                 ` Suparna Bhattacharya
2007-02-22 21:24             ` Michael K. Edwards
2007-02-23  0:30               ` Alan
2007-02-23  2:47                 ` Michael K. Edwards
2007-02-23  8:31                   ` Michael K. Edwards
2007-02-23 10:22                   ` Ingo Molnar
2007-02-23 12:37                   ` Alan
2007-02-23 23:49                     ` Michael K. Edwards
2007-02-24  1:08                       ` Alan
2007-02-24  0:51                         ` Michael K. Edwards
2007-02-24  2:17                           ` Michael K. Edwards
2007-02-24  3:25                           ` Michael K. Edwards
2007-02-23 12:17               ` Ingo Molnar
2007-02-24 19:52                 ` Michael K. Edwards
2007-02-24 21:04                   ` Davide Libenzi
2007-02-24 23:01                     ` Michael K. Edwards
2007-02-25 22:44           ` Linus Torvalds
2007-02-26 13:11             ` Ingo Molnar
2007-02-26 17:37               ` Evgeniy Polyakov
2007-02-26 18:19                 ` Arjan van de Ven
2007-02-26 18:38                   ` Evgeniy Polyakov
2007-02-26 18:56                     ` Chris Friesen
2007-02-26 19:20                       ` Evgeniy Polyakov
2007-02-26 17:28             ` Evgeniy Polyakov
2007-02-26 17:57               ` Linus Torvalds
2007-02-26 18:32                 ` Evgeniy Polyakov
2007-02-26 19:22                   ` Linus Torvalds
2007-02-26 19:30                     ` Evgeniy Polyakov
2007-02-26 20:04                       ` Linus Torvalds
2007-02-27  8:09                         ` Evgeniy Polyakov
2007-02-26 19:54                 ` Ingo Molnar
2007-02-27 10:28                   ` Evgeniy Polyakov
2007-02-27 11:52                     ` Theodore Tso
2007-02-27 12:11                       ` Evgeniy Polyakov
2007-02-27 12:13                         ` Ingo Molnar
2007-02-27 12:40                           ` Evgeniy Polyakov
2007-02-28 16:14                         ` Pavel Machek
2007-03-01  8:18                           ` Evgeniy Polyakov
2007-03-01  9:26                             ` Pavel Machek
2007-03-01  9:47                               ` Evgeniy Polyakov
2007-03-01  9:54                                 ` Ingo Molnar
2007-03-01 10:59                                   ` Evgeniy Polyakov
2007-03-01 11:00                                     ` Ingo Molnar
2007-03-01 11:16                                       ` Evgeniy Polyakov
2007-03-01 11:27                                         ` Ingo Molnar
2007-03-01 11:36                                           ` Evgeniy Polyakov
2007-03-01 11:41                                         ` Ingo Molnar
2007-03-01 11:47                                           ` Ingo Molnar
2007-03-01 12:10                                             ` Evgeniy Polyakov
2007-03-01 12:43                                               ` Ingo Molnar
2007-03-01 13:01                                                 ` Evgeniy Polyakov
2007-03-01 13:11                                                   ` Ingo Molnar
2007-03-01 13:30                                                     ` Evgeniy Polyakov
2007-03-01 14:19                                                       ` Eric Dumazet
2007-03-01 14:16                                                         ` Ingo Molnar
2007-03-01 14:31                                                           ` Eric Dumazet
2007-03-01 14:27                                                             ` Ingo Molnar
2007-03-01 14:54                                                           ` Evgeniy Polyakov
2007-03-01 15:09                                                             ` Ingo Molnar
2007-03-01 15:36                                                               ` Evgeniy Polyakov
2007-03-02 10:57                                                                 ` Ingo Molnar
2007-03-02 11:48                                                                   ` Evgeniy Polyakov
2007-03-02 17:32                                                                   ` Davide Libenzi
2007-03-02 19:39                                                                     ` Ingo Molnar
2007-03-02 20:18                                                                       ` Davide Libenzi
2007-03-02 20:29                                                                         ` Ingo Molnar
2007-03-02 20:53                                                                           ` Davide Libenzi
2007-03-02 21:21                                                                             ` Michael K. Edwards
2007-03-02 21:43                                                                             ` Nicholas Miell
2007-03-03  0:52                                                                               ` Davide Libenzi
2007-03-03  1:36                                                                                 ` Nicholas Miell
2007-03-03  1:48                                                                                   ` Benjamin LaHaise
2007-03-03  2:19                                                                                   ` Davide Libenzi
2007-03-03  7:19                                                                                     ` Ingo Molnar
2007-03-03  7:20                                                                                       ` Ingo Molnar
2007-03-03  9:02                                                                                       ` Davide Libenzi
2007-03-01 19:31                                                             ` Davide Libenzi
2007-03-02  8:10                                                               ` Evgeniy Polyakov
2007-03-02 17:13                                                                 ` Davide Libenzi
2007-03-02 19:13                                                                   ` Davide Libenzi
2007-03-03 10:06                                                                   ` Evgeniy Polyakov
2007-03-03 18:46                                                                     ` Davide Libenzi
2007-03-03 20:31                                                                       ` Evgeniy Polyakov
2007-03-03 21:57                                                                         ` Davide Libenzi
2007-03-03 22:10                                                                           ` Davide Libenzi
2007-03-04 16:23                                                                           ` Kirk Kuchov
2007-03-04 17:46                                                                             ` Kyle Moffett
2007-03-05  5:23                                                                               ` Michael K. Edwards
2007-03-04 21:17                                                                             ` Davide Libenzi
2007-03-04 22:49                                                                               ` Kirk Kuchov
2007-03-04 22:57                                                                                 ` Davide Libenzi
2007-03-05  4:46                                                                                 ` Magnus Naeslund(k)
2007-03-06  8:19                                                                                 ` Pavel Machek
2007-03-07 12:02                                                                                   ` Kirk Kuchov
2007-03-07 17:26                                                                                     ` Linus Torvalds
2007-03-07 17:39                                                                                     ` Ingo Molnar
2007-03-07 18:21                                                                                       ` Kirk Kuchov
2007-03-07 18:24                                                                                         ` Jens Axboe
2007-03-07 18:32                                                                                         ` Evgeniy Polyakov
2007-03-01 12:01                                           ` Evgeniy Polyakov
2007-03-01 11:14                                     ` Eric Dumazet
2007-03-01 11:20                                       ` Evgeniy Polyakov
2007-03-01 11:28                                         ` Eric Dumazet
2007-03-01 11:47                                           ` Evgeniy Polyakov
2007-03-01 13:12                                             ` Eric Dumazet
2007-03-01 14:43                                               ` Evgeniy Polyakov
2007-03-01 14:47                                                 ` Ingo Molnar
2007-03-01 15:23                                                   ` Evgeniy Polyakov
2007-03-01 15:32                                                     ` Eric Dumazet
2007-03-01 15:41                                                       ` Eric Dumazet
2007-03-01 15:51                                                         ` Evgeniy Polyakov
2007-03-01 15:47                                                       ` Evgeniy Polyakov
2007-03-01 19:47                                                       ` Davide Libenzi
2007-03-01 14:57                                                 ` Evgeniy Polyakov
2007-03-01 12:19                                           ` Evgeniy Polyakov
2007-03-01 12:34                                     ` Ingo Molnar
2007-03-01 13:26                                       ` Evgeniy Polyakov
2007-03-01 13:32                                         ` Ingo Molnar
2007-03-01 14:24                                           ` Evgeniy Polyakov
2007-03-01 16:56                                     ` David Lang
2007-03-01 17:56                                       ` Evgeniy Polyakov
2007-03-01 18:41                                         ` David Lang
2007-03-01 19:19                                   ` Davide Libenzi
2007-03-01 10:11                                 ` Pavel Machek
2007-03-01 10:19                                   ` Ingo Molnar
2007-03-01 11:18                                   ` Evgeniy Polyakov
2007-03-02 10:27                                     ` Pavel Machek
2007-03-02 10:37                                       ` Evgeniy Polyakov
2007-03-02 10:56                                         ` Ingo Molnar
2007-03-02 11:08                                           ` Evgeniy Polyakov
2007-03-02 17:28                                             ` Davide Libenzi
2007-03-03 10:27                                               ` Evgeniy Polyakov
2007-03-01 19:24                             ` Johann Borck
2007-03-01 19:37                               ` David Lang
2007-03-01 20:34                                 ` Johann Borck
2007-02-27 12:34                       ` Ingo Molnar
2007-02-27 13:14                         ` Evgeniy Polyakov
2007-02-27 13:32                         ` Avi Kivity
2007-02-28  3:03                       ` Michael K. Edwards
2007-02-28  8:02                         ` Evgeniy Polyakov
2007-02-28 17:01                           ` Michael K. Edwards
2007-03-05  2:16                             ` Discussing LKML community [OT from the Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3] Oleg Verych
2007-02-28 16:38                         ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Phillip Susi
2007-02-22 19:38         ` Davide Libenzi
2007-02-28  9:45           ` Ingo Molnar
2007-02-28 16:17             ` Davide Libenzi
2007-02-28 16:42               ` Linus Torvalds
2007-02-28 17:26                 ` Ingo Molnar
2007-02-28 18:22                 ` Davide Libenzi
2007-02-28 18:42                   ` Linus Torvalds
2007-02-28 18:50                     ` Davide Libenzi
2007-02-28 19:03                       ` Chris Friesen
2007-02-28 19:42                         ` Davide Libenzi
2007-03-01  8:38                           ` Evgeniy Polyakov
2007-03-01  9:28                             ` Evgeniy Polyakov
2007-02-28 23:12                 ` Ingo Molnar
2007-03-01  1:33                   ` Andrea Arcangeli
2007-03-01  9:15                     ` Evgeniy Polyakov
2007-03-01 21:27                   ` Linus Torvalds
2007-02-28 20:21               ` Ingo Molnar
2007-02-28 21:09                 ` Davide Libenzi
2007-02-28 21:23                   ` Ingo Molnar
2007-02-28 21:46                     ` Davide Libenzi
2007-02-28 22:22                       ` Ingo Molnar
2007-02-28 22:47                         ` Davide Libenzi
2007-02-22 21:23         ` Zach Brown
2007-02-22 21:32           ` Benjamin LaHaise
2007-02-22 21:44             ` Zach Brown
2007-02-22  1:04     ` Michael K. Edwards
2007-02-22  7:00       ` Ingo Molnar
2007-02-22  9:29         ` Michael K. Edwards
2007-02-22 10:01 ` Suparna Bhattacharya
2007-02-22 11:20   ` Ingo Molnar
2007-02-23 12:52 ` A quick fio test (was Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3) Jens Axboe
2007-02-23 13:55   ` Suparna Bhattacharya
2007-02-23 14:58     ` Ingo Molnar
2007-02-23 15:15       ` Suparna Bhattacharya
2007-02-23 16:25         ` Jens Axboe
2007-02-23 17:13           ` Suparna Bhattacharya
2007-02-23 18:35             ` Jens Axboe
2007-02-26 13:57             ` Jens Axboe
2007-02-26 14:13               ` Suparna Bhattacharya
2007-02-26 14:18                 ` Ingo Molnar
2007-02-26 14:45                 ` Jens Axboe
2007-02-27  4:33                   ` Suparna Bhattacharya
2007-02-27  9:42                     ` Jens Axboe
2007-02-27 11:12                       ` Evgeniy Polyakov
2007-02-27 11:29                         ` Jens Axboe
2007-02-27 12:19                           ` Evgeniy Polyakov
2007-02-27 18:45                             ` Jens Axboe
2007-02-27 19:08                               ` Evgeniy Polyakov
2007-02-27 19:25                                 ` Jens Axboe
2007-02-27 12:39                       ` Suparna Bhattacharya
2007-02-28  8:31                         ` Jens Axboe
2007-02-28  8:38                           ` Ingo Molnar
2007-02-28  9:07                             ` Jens Axboe
2007-02-27 13:54                     ` Avi Kivity
2007-02-27 15:25                       ` Ingo Molnar
2007-02-27 16:15                         ` Avi Kivity
2007-02-27 16:16                           ` Ingo Molnar
2007-02-27 16:26                             ` Avi Kivity
2007-02-27 18:49                           ` Jens Axboe
2007-02-26 21:40               ` Davide Libenzi
2007-02-23 16:59         ` Ingo Molnar
2007-02-23 22:31   ` Joel Becker
2007-02-24 12:18     ` Jens Axboe
2007-02-24  7:41 ` [patchset] Syslets/threadlets, generic AIO support, v4 Ingo Molnar
2007-02-24 18:34 ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Evgeniy Polyakov
2007-02-25 17:23   ` Ingo Molnar
2007-02-25 17:44     ` Evgeniy Polyakov
2007-02-25 17:54       ` Ingo Molnar
2007-02-25 18:21         ` Evgeniy Polyakov
2007-02-25 18:22           ` Ingo Molnar
2007-02-25 18:37             ` Evgeniy Polyakov
2007-02-25 18:34               ` Ingo Molnar
2007-02-25 20:01                 ` Frederik Deweerdt
2007-02-25 19:21               ` Ingo Molnar
     [not found]                 ` <20070225194645.GB1353@2ka.mipt.ru>
     [not found]                   ` <20070225195308.GC15681@elte.hu>
     [not found]                     ` <Pine.LNX.4.64.0702251232350.6011@alien.or.mcafeemobile.com>
2007-02-25 21:34                       ` threadlets as 'naive pool of threads', epoll, some measurements Ingo Molnar
2007-02-26 10:45                         ` Ingo Molnar
2007-02-26 11:48                           ` Ingo Molnar
2007-02-26 12:25                             ` Evgeniy Polyakov
2007-02-26 12:50                               ` Ingo Molnar
2007-02-26 14:32                                 ` Evgeniy Polyakov
2007-02-26 20:23                                   ` Ingo Molnar
2007-02-27  8:16                                     ` Evgeniy Polyakov
2007-02-27  8:27                                       ` Ingo Molnar
2007-02-27 10:37                                         ` Evgeniy Polyakov
2007-02-27 12:15                                           ` Ingo Molnar
2007-02-27 12:22                                             ` Evgeniy Polyakov
2007-02-26 21:22                           ` Davide Libenzi
2007-02-26  8:16                       ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Ingo Molnar
2007-02-26  9:25                         ` Evgeniy Polyakov
2007-02-26  9:55                           ` Ingo Molnar
2007-02-26 10:31                             ` Ingo Molnar
2007-02-26 10:43                               ` Evgeniy Polyakov
2007-02-26 20:02                               ` Davide Libenzi
2007-02-26 10:33                             ` Evgeniy Polyakov
2007-02-26 10:35                               ` Ingo Molnar
2007-02-26 10:47                                 ` Evgeniy Polyakov
2007-02-26 12:51                                   ` Ingo Molnar
2007-02-26 16:46                                     ` Evgeniy Polyakov
2007-02-27  6:24                                       ` Ingo Molnar
2007-02-27 10:41                                         ` Evgeniy Polyakov
2007-02-27 10:49                                           ` Ingo Molnar
2007-02-25 18:25           ` Evgeniy Polyakov
2007-02-25 18:24             ` Ingo Molnar
2007-02-25 14:33 ` Threadlet/syslet v4 bug report Evgeniy Polyakov
2007-02-25 15:24   ` Evgeniy Polyakov
2007-02-22 12:27 [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 linux
2007-02-22 13:40 ` David Miller
2007-02-22 23:52   ` linux
2007-02-25 19:10 Al Boldi
2007-02-25 19:11 Al Boldi
2007-02-27 14:15 Al Boldi
2007-02-27 19:22 ` Theodore Tso
2007-03-01 10:21 ` Pavel Machek
2007-02-27 14:15 Al Boldi
     [not found] <efa6f5910703021120ia0b8d18ne0c806eb2e73da4c@mail.gmail.com>
     [not found] ` <20070303103427.GC22557@2ka.mipt.ru>
2007-03-03 10:58   ` Ihar `Philips` Filipau
2007-03-03 11:03     ` Evgeniy Polyakov
2007-03-03 11:51       ` Ihar `Philips` Filipau
2007-03-03 21:12     ` Ray Lee
2007-03-03 22:14       ` Ihar `Philips` Filipau
2007-03-03 23:54         ` Ray Lee
2007-03-04  9:33       ` Michael K. Edwards

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.