From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Arjan van de Ven <arjan@infradead.org>,
Christoph Hellwig <hch@infradead.org>,
Andrew Morton <akpm@zip.com.au>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Ulrich Drepper <drepper@redhat.com>,
Zach Brown <zach.brown@oracle.com>,
"David S. Miller" <davem@davemloft.net>,
Benjamin LaHaise <bcrl@kvack.org>,
Suparna Bhattacharya <suparna@in.ibm.com>,
Davide Libenzi <davidel@xmailserver.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [patch 05/11] syslets: core code
Date: Fri, 16 Feb 2007 13:28:06 +0100 [thread overview]
Message-ID: <20070216122806.GA27455@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.64.0702151159410.20368@woody.linux-foundation.org>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Thu, 15 Feb 2007, Linus Torvalds wrote:
> >
> > So I think that a good implementation just does everything up-front,
> > and doesn't _need_ a user buffer that is live over longer periods,
> > except for the actual results. Exactly because the whole
> > alloc/teardown is nasty.
>
> Btw, this doesn't necessarily mean "not supporting multiple atoms at
> all".
>
> I think the batching of async things is potentially a great idea. I
> think it's quite workable for "open+fstat" kind of things, and I agree
> that it can solve other things too (the
> "socket+bind+connect+sendmsg+rcv" kind of complex setup things).
>
> But I suspect that if we just said:
> - we limit these atom sequences to just linear sequences of max "n" ops
> - we read them all in in a single go at startup
>
> we actually avoid several nasty issues. Not just the memory allocation
> issue in user space (now it's perfectly ok to build up a sequence of
> ops in temporary memory and throw it away once it's been submitted),
> but also issues like the 32-bit vs 64-bit compatibility stuff (the
> compat handlers would just convert it when they do the initial
> copying, and then the actual run-time wouldn't care about user-level
> pointers having different sizes etc).
>
> Would it make the interface less cool? Yeah. Would it limit it to just
> a few linked system calls (to avoid memory allocation issues in the
> kernel)? Yes again. But it would simplify a lot of the interface
> issues.
>
> It would _also_ allow the "sys_aio_read()" function to build up its
> *own* set of atoms in kernel space to actually do the read, and there
> would be no impact of the actual run-time wanting to read stuff from
> user space. Again - it's actually the same issue as with the compat
> system call: by making the interfaces do things up-front rather than
> dynamically, it becomes more static, but also easier to do interface
> translations. You can translate into any arbitrary internal format
> _once_, and be done with it.
>
> I dunno.
[ hm. I again wrote a pretty long email for you to read. Darn! ]
regarding the API - i share most of your concerns, and it's all a
function of how widely we want to push this into user-space.
My initial thought was for syslets to be used by glibc as small, secure
kernel-side 'syscall plugins' mainly - so that it can do things like
'POSIX AIO signal notifications' (which are madness in terms of
performance, but which applications rely on) /without/ having to burden
the kernel-side AIO with such requirements: glibc just adds an enclosing
sys_kill() to the syslet and it will do the proper signal notification,
asynchronously. (and of course syslets can be used for the Tux type of
performance sillinesses as well ;-)
So a sane user API (all used at the glibc level, not at application
level) would use simple syslets, while more broken ones would have to
use longer ones - but nobody would have the burden of having to
synchronize back to the issuer context. Natural selection will gravitate
application use towards the APIs with the shorter syslets. (at least so
i hope)
In this model syslets arent really user-programmable entities but rather
small plugins available to glibc to build up more complex, more
innovative (or just more broken) APIs than what the kernel wants to
provide - without putting any true new ABI dependency on the kernel,
other than the already existing syscall ABIs.
But if we'd like glibc to provide this to applications in some sort of
standardized /programmable/ manner, with a wide range of atom selections
(not directly coded syscall numbers, but rather as function pointers to
actual glibc functions, which glibc could translate to syscall numbers,
argument encodings, etc.), then i agree that doing the compat things and
making it 32/64-bit agnostic (and much more) is pretty much a must. If
90% of this current job is finished then sorting those out will at least
be another 90% of the work ;-)
and actually this latter model scares me, and i think that model scared
the hell out of you as well.
But i really have no strong opinion about which one we want yet, without
having walked the path. Somewhere inside me i'd of course like syslets
to become a widely available interface - but my fear is that it might
just not be 'human' enough to make sense - and we'd just not want to tie
us down with an ABI that's not used. I dont want this to become another
sys_sendfile - much talked about and _almost_ useful but in practice
seldom used due to its programmability and utility limitations.
OTOH, the syslet concept right now already looks very ubiquitous, and
the main problem with AIO use in applications wasnt just even its broken
API or its broken performance, but the fundamental lack of all Linux IO
disciplines supporting AIO, and the lack of significantly parallel
hardware. We have kaio that is centered around block drivers - then we
have epoll that works best with networking, and inotify that deals with
some (but not all) VFS events - but neither supports every IO and event
disciple well, at once. My feeling is that /this/ is the main
fundamental problem with AIO in general, not just its programmability
limitations.
Right now i'm concentrating on trying to build up something on the
scheduling side that shows the issues in practice, shows the limitations
and shows the possibilities. For example the easy ability to turn a
cachemiss thread back into a user thread (and then back into a cachemiss
thread) was a true surprise to me which increased utility quite a bit. I
couldnt have designed it into the concept because it just didnt occur to
me in the early stages. The notification ring related limitations you
noticed is another important thing to fix - and these issues go to the
core scheduling model of the concept and affect everything.
Thirdly, while Tux does not matter much to us, at least to me it is
pretty clear what it takes to get performance up to the levels of Tux -
and i dont see any big fundamental compromise possible on that front.
Syslets are partly Tux repackaged into something generic - they are
probably a bit slower than straight kernel code Tux, but not by much and
it's also not behaving fundamentally differently. And if we dont offer
at least something close to those possibilities then people will
re-start trying to add those special-purpose state machine APIs again,
and the whole "we need /true/ async IO" game starts again.
So if we accept "make parallelism easier to program" and "get somewhat
close to Tux's performance and scalability" as a premise (which you
might not agree with in that form), then i dont think there's much
choice we have: either we use kernel threads, synchronous system calls
and the scheduler intelligently (and the scheduling/threading bits of
syslets are pretty much the most intelligent kernel thread based
approach i can imagine at the moment =B-) or we use a special-purpose
KAIO state machine subsystem, avoiding most of the existing synchronous
infrastructure, painfully coding it into every IO discipline - and this
will certainly haunt us until the end of times.
So that's why i'm not /that/ much worried about the final form of the
API at the moment - even though i agree that it is /the/ most important
decision factor in the end: i see various unavoidable externalities
forcing us very much, and in the end we either like the result and make
it available to programmers, or we dont, and limit it to system-glue
glibc use - or we throw it away altogether. I'm curious about the end
result even if it gets limited or gets thrown away (joining 4:4 on the
way to the bit bucket ;) and while i'm cautiously optimistic that
something useful can come out of this, i cannot know it for sure at the
moment.
Ingo
next prev parent reply other threads:[~2007-02-16 12:32 UTC|newest]
Thread overview: 320+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-29 21:21 [patch 00/61] ANNOUNCE: lock validator -V1 Ingo Molnar
2006-05-29 21:22 ` [patch 01/61] lock validator: floppy.c irq-release fix Ingo Molnar
2006-05-30 1:32 ` Andrew Morton
2006-05-29 21:23 ` [patch 02/61] lock validator: forcedeth.c fix Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-05-31 5:40 ` Manfred Spraul
2006-05-29 21:23 ` [patch 03/61] lock validator: sound/oss/emu10k1/midi.c cleanup Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-05-30 10:51 ` Takashi Iwai
2006-05-30 11:03 ` Alexey Dobriyan
2006-05-29 21:23 ` [patch 04/61] lock validator: mutex section binutils workaround Ingo Molnar
2006-05-29 21:23 ` [patch 05/61] lock validator: introduce WARN_ON_ONCE(cond) Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-05-30 17:38 ` Steven Rostedt
2006-06-03 18:09 ` Steven Rostedt
2006-06-04 9:18 ` Arjan van de Ven
2006-06-04 13:43 ` Steven Rostedt
2006-05-29 21:23 ` [patch 06/61] lock validator: add __module_address() method Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-05-30 17:45 ` Steven Rostedt
2006-06-23 8:38 ` Ingo Molnar
2006-05-29 21:23 ` [patch 07/61] lock validator: better lock debugging Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-06-23 10:25 ` Ingo Molnar
2006-06-23 11:06 ` Andrew Morton
2006-06-23 11:04 ` Ingo Molnar
2006-05-29 21:23 ` [patch 08/61] lock validator: locking API self-tests Ingo Molnar
2006-05-29 21:23 ` [patch 09/61] lock validator: spin/rwlock init cleanups Ingo Molnar
2006-05-29 21:23 ` [patch 10/61] lock validator: locking init debugging improvement Ingo Molnar
2006-05-29 21:23 ` [patch 11/61] lock validator: lockdep: small xfs init_rwsem() cleanup Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-05-30 1:32 ` Nathan Scott
2006-05-29 21:24 ` [patch 12/61] lock validator: beautify x86_64 stacktraces Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-05-29 21:24 ` [patch 13/61] lock validator: x86_64: document stack frame internals Ingo Molnar
2006-05-29 21:24 ` [patch 14/61] lock validator: stacktrace Ingo Molnar
2006-05-29 21:24 ` [patch 15/61] lock validator: x86_64: use stacktrace to generate backtraces Ingo Molnar
2006-05-30 1:33 ` Andrew Morton
2006-05-29 21:24 ` [patch 16/61] lock validator: fown locking workaround Ingo Molnar
2006-05-30 1:34 ` Andrew Morton
2006-06-23 9:10 ` Ingo Molnar
2006-05-29 21:24 ` [patch 17/61] lock validator: sk_callback_lock workaround Ingo Molnar
2006-05-30 1:34 ` Andrew Morton
2006-06-23 9:19 ` Ingo Molnar
2006-05-29 21:24 ` [patch 18/61] lock validator: irqtrace: core Ingo Molnar
2006-05-30 1:34 ` Andrew Morton
2006-06-23 10:42 ` Ingo Molnar
2006-05-29 21:24 ` [patch 19/61] lock validator: irqtrace: cleanup: include/asm-i386/irqflags.h Ingo Molnar
2006-05-29 21:24 ` [patch 20/61] lock validator: irqtrace: cleanup: include/asm-x86_64/irqflags.h Ingo Molnar
2006-05-29 21:24 ` [patch 21/61] lock validator: lockdep: add local_irq_enable_in_hardirq() API Ingo Molnar
2006-05-30 1:34 ` Andrew Morton
2006-06-23 9:28 ` Ingo Molnar
2006-06-23 9:52 ` Andrew Morton
2006-06-23 10:20 ` Ingo Molnar
2006-05-29 21:24 ` [patch 22/61] lock validator: add per_cpu_offset() Ingo Molnar
2006-05-30 1:34 ` Andrew Morton
2006-06-23 9:30 ` Ingo Molnar
2006-05-29 21:25 ` [patch 23/61] lock validator: core Ingo Molnar
2006-05-29 21:25 ` [patch 24/61] lock validator: procfs Ingo Molnar
2006-05-29 21:25 ` [patch 25/61] lock validator: design docs Ingo Molnar
2006-05-30 9:07 ` Nikita Danilov
2006-05-29 21:25 ` [patch 26/61] lock validator: prove rwsem locking correctness Ingo Molnar
2006-05-29 21:25 ` [patch 27/61] lock validator: prove spinlock/rwlock " Ingo Molnar
2006-05-30 1:35 ` Andrew Morton
2006-06-23 10:44 ` Ingo Molnar
2006-05-29 21:25 ` [patch 28/61] lock validator: prove mutex " Ingo Molnar
2006-05-29 21:25 ` [patch 29/61] lock validator: print all lock-types on SysRq-D Ingo Molnar
2006-05-29 21:25 ` [patch 30/61] lock validator: x86_64 early init Ingo Molnar
2006-05-29 21:25 ` [patch 31/61] lock validator: SMP alternatives workaround Ingo Molnar
2006-05-29 21:25 ` [patch 32/61] lock validator: do not recurse in printk() Ingo Molnar
2006-05-29 21:25 ` [patch 33/61] lock validator: disable NMI watchdog if CONFIG_LOCKDEP Ingo Molnar
2006-05-29 22:49 ` Keith Owens
2006-05-29 21:25 ` [patch 34/61] lock validator: special locking: bdev Ingo Molnar
2006-05-30 1:35 ` Andrew Morton
2006-05-30 5:13 ` Arjan van de Ven
2006-05-30 9:58 ` Al Viro
2006-05-30 10:45 ` Arjan van de Ven
2006-05-29 21:25 ` [patch 35/61] lock validator: special locking: direct-IO Ingo Molnar
2006-05-29 21:26 ` [patch 36/61] lock validator: special locking: serial Ingo Molnar
2006-05-30 1:35 ` Andrew Morton
2006-06-23 9:49 ` Ingo Molnar
2006-06-23 10:04 ` Andrew Morton
2006-06-23 10:18 ` Ingo Molnar
2006-05-29 21:26 ` [patch 37/61] lock validator: special locking: dcache Ingo Molnar
2006-05-30 1:35 ` Andrew Morton
2006-05-30 20:51 ` Steven Rostedt
2006-05-30 21:01 ` Ingo Molnar
2006-06-23 9:51 ` Ingo Molnar
2006-05-29 21:26 ` [patch 38/61] lock validator: special locking: i_mutex Ingo Molnar
2006-05-30 20:53 ` Steven Rostedt
2006-05-30 21:06 ` Ingo Molnar
2006-05-29 21:26 ` [patch 39/61] lock validator: special locking: s_lock Ingo Molnar
2006-05-29 21:26 ` [patch 40/61] lock validator: special locking: futex Ingo Molnar
2006-05-29 21:26 ` [patch 41/61] lock validator: special locking: genirq Ingo Molnar
2006-05-29 21:26 ` [patch 42/61] lock validator: special locking: kgdb Ingo Molnar
2006-05-29 21:26 ` [patch 43/61] lock validator: special locking: completions Ingo Molnar
2006-05-29 21:26 ` [patch 44/61] lock validator: special locking: waitqueues Ingo Molnar
2006-05-29 21:26 ` [patch 45/61] lock validator: special locking: mm Ingo Molnar
2006-05-29 21:26 ` [patch 46/61] lock validator: special locking: slab Ingo Molnar
2006-05-30 1:35 ` Andrew Morton
2006-06-23 9:54 ` Ingo Molnar
2006-05-29 21:26 ` [patch 47/61] lock validator: special locking: skb_queue_head_init() Ingo Molnar
2006-05-29 21:26 ` [patch 48/61] lock validator: special locking: timer.c Ingo Molnar
2006-05-29 21:27 ` [patch 49/61] lock validator: special locking: sched.c Ingo Molnar
2006-05-29 21:27 ` [patch 50/61] lock validator: special locking: hrtimer.c Ingo Molnar
2006-05-30 1:35 ` Andrew Morton
2006-06-23 10:04 ` Ingo Molnar
2006-06-23 10:38 ` Andrew Morton
2006-06-23 10:52 ` Ingo Molnar
2006-06-23 11:52 ` Ingo Molnar
2006-06-23 12:06 ` Andrew Morton
2006-05-29 21:27 ` [patch 51/61] lock validator: special locking: sock_lock_init() Ingo Molnar
2006-05-30 1:36 ` Andrew Morton
2006-06-23 10:06 ` Ingo Molnar
2006-05-29 21:27 ` [patch 52/61] lock validator: special locking: af_unix Ingo Molnar
2006-05-30 1:36 ` Andrew Morton
2006-06-23 10:07 ` Ingo Molnar
2006-05-29 21:27 ` [patch 53/61] lock validator: special locking: bh_lock_sock() Ingo Molnar
2006-05-29 21:27 ` [patch 54/61] lock validator: special locking: mmap_sem Ingo Molnar
2006-05-29 21:27 ` [patch 55/61] lock validator: special locking: sb->s_umount Ingo Molnar
2006-05-30 1:36 ` Andrew Morton
2006-06-23 10:55 ` Ingo Molnar
2006-05-29 21:27 ` [patch 56/61] lock validator: special locking: jbd Ingo Molnar
2006-05-29 21:27 ` [patch 57/61] lock validator: special locking: posix-timers Ingo Molnar
2006-05-29 21:27 ` [patch 58/61] lock validator: special locking: sch_generic.c Ingo Molnar
2006-05-29 21:27 ` [patch 59/61] lock validator: special locking: xfrm Ingo Molnar
2006-05-30 1:36 ` Andrew Morton
2006-05-29 21:27 ` [patch 60/61] lock validator: special locking: sound/core/seq/seq_ports.c Ingo Molnar
2006-05-29 21:28 ` [patch 61/61] lock validator: enable lock validator in Kconfig Ingo Molnar
2006-05-30 1:36 ` Andrew Morton
2006-05-30 13:33 ` Roman Zippel
2006-06-23 11:01 ` Ingo Molnar
2006-06-26 11:37 ` Roman Zippel
2006-05-29 22:28 ` [patch 00/61] ANNOUNCE: lock validator -V1 Michal Piotrowski
2006-05-29 22:41 ` Ingo Molnar
2006-05-29 23:09 ` Dave Jones
2006-05-30 5:45 ` Arjan van de Ven
2006-05-30 6:07 ` Michal Piotrowski
2006-05-30 14:10 ` Dave Jones
2006-05-30 14:19 ` Arjan van de Ven
2006-05-30 14:58 ` Dave Jones
2006-05-30 17:11 ` Dominik Brodowski
2006-05-30 19:02 ` Dave Jones
2006-05-30 19:25 ` Roland Dreier
2006-05-30 19:34 ` Dave Jones
2006-05-30 20:41 ` Ingo Molnar
2006-05-30 20:44 ` Ingo Molnar
2006-05-30 21:58 ` Paolo Ciarrocchi
2006-05-31 8:40 ` Ingo Molnar
2006-05-30 19:39 ` Dave Jones
2006-05-30 19:53 ` Ashok Raj
2006-06-01 5:50 ` Nathan Lynch
2006-05-30 20:54 ` [patch, -rc5-mm1] lock validator: select KALLSYMS_ALL Ingo Molnar
2006-05-30 5:52 ` [patch 00/61] ANNOUNCE: lock validator -V1 Michal Piotrowski
2006-05-30 5:20 ` Arjan van de Ven
2006-05-30 1:35 ` Andrew Morton
2006-06-23 9:41 ` Ingo Molnar
2006-05-30 4:52 ` Mike Galbraith
2006-05-30 6:20 ` Arjan van de Ven
2006-05-30 6:35 ` Arjan van de Ven
2006-05-30 7:47 ` Ingo Molnar
2006-05-30 6:37 ` Ingo Molnar
2006-05-30 9:25 ` Mike Galbraith
2006-05-30 10:57 ` Ingo Molnar
2006-05-30 9:14 ` Benoit Boissinot
2006-05-30 10:26 ` Arjan van de Ven
2006-05-30 11:42 ` Benoit Boissinot
2006-05-30 12:13 ` Ingo Molnar
2006-06-01 14:42 ` [patch mm1-rc2] lock validator: netlink.c netlink_table_grab fix Frederik Deweerdt
2006-06-02 3:10 ` Zhu Yi
2006-06-02 9:53 ` Frederik Deweerdt
2006-06-05 3:40 ` Zhu Yi
2007-02-13 14:20 ` [patch 00/11] ANNOUNCE: "Syslets", generic asynchronous system call support Ingo Molnar
2007-02-13 15:00 ` Alan
2007-02-13 14:58 ` Benjamin LaHaise
2007-02-13 15:09 ` Arjan van de Ven
2007-02-13 16:24 ` bert hubert
2007-02-13 16:56 ` Ingo Molnar
2007-02-13 18:56 ` Evgeniy Polyakov
2007-02-13 19:12 ` Evgeniy Polyakov
2007-02-13 22:19 ` Ingo Molnar
2007-02-13 22:18 ` Ingo Molnar
2007-02-14 8:59 ` Evgeniy Polyakov
2007-02-14 10:37 ` Ingo Molnar
2007-02-14 11:10 ` Evgeniy Polyakov
2007-02-14 17:17 ` Davide Libenzi
2007-02-13 20:34 ` Ingo Molnar
2007-02-13 15:46 ` Dmitry Torokhov
2007-02-13 20:39 ` Ingo Molnar
2007-02-13 22:36 ` Dmitry Torokhov
2007-02-14 11:07 ` Alan
2007-02-13 16:39 ` Andi Kleen
2007-02-13 16:26 ` Linus Torvalds
2007-02-13 17:03 ` Ingo Molnar
2007-02-13 20:26 ` Davide Libenzi
2007-02-13 16:49 ` Ingo Molnar
2007-02-13 16:42 ` Ingo Molnar
2007-02-13 20:22 ` Davide Libenzi
2007-02-13 21:24 ` Davide Libenzi
2007-02-13 22:10 ` Ingo Molnar
2007-02-13 23:28 ` Davide Libenzi
2007-02-13 21:57 ` Ingo Molnar
2007-02-13 22:50 ` Olivier Galibert
2007-02-13 22:59 ` Ulrich Drepper
2007-02-13 23:24 ` Davide Libenzi
2007-02-13 23:25 ` Andi Kleen
2007-02-13 22:26 ` Ingo Molnar
2007-02-13 22:32 ` Andi Kleen
2007-02-13 22:43 ` Ingo Molnar
2007-02-13 22:47 ` Andi Kleen
2007-02-14 3:28 ` Davide Libenzi
2007-02-14 4:49 ` Davide Libenzi
2007-02-14 8:26 ` Ingo Molnar
2007-02-14 4:42 ` Willy Tarreau
2007-02-14 12:37 ` Pavel Machek
2007-02-14 17:14 ` Linus Torvalds
2007-02-14 20:52 ` Jeremy Fitzhardinge
2007-02-14 21:36 ` Davide Libenzi
2007-02-15 0:08 ` Jeremy Fitzhardinge
2007-02-15 2:07 ` Davide Libenzi
2007-02-15 2:44 ` Zach Brown
2007-02-13 14:20 ` [patch 01/11] syslets: add async.h include file, kernel-side API definitions Ingo Molnar
2007-02-13 14:20 ` [patch 02/11] syslets: add syslet.h include file, user API/ABI definitions Ingo Molnar
2007-02-13 20:17 ` Indan Zupancic
2007-02-13 21:43 ` Ingo Molnar
2007-02-13 22:24 ` Indan Zupancic
2007-02-13 22:32 ` Ingo Molnar
2007-02-19 0:22 ` Paul Mackerras
2007-02-13 14:20 ` [patch 03/11] syslets: generic kernel bits Ingo Molnar
2007-02-13 14:20 ` [patch 04/11] syslets: core, data structures Ingo Molnar
2007-02-13 14:20 ` [patch 05/11] syslets: core code Ingo Molnar
2007-02-13 23:15 ` Andi Kleen
2007-02-13 22:24 ` Ingo Molnar
2007-02-13 22:30 ` Andi Kleen
2007-02-13 22:41 ` Ingo Molnar
2007-02-14 9:13 ` Evgeniy Polyakov
2007-02-14 9:46 ` Ingo Molnar
2007-02-14 10:09 ` Evgeniy Polyakov
2007-02-14 10:30 ` Arjan van de Ven
2007-02-14 10:41 ` Evgeniy Polyakov
2007-02-13 22:57 ` Andrew Morton
2007-02-14 12:43 ` Guillaume Chazarain
2007-02-14 13:17 ` Stephen Rothwell
2007-02-14 20:38 ` Linus Torvalds
2007-02-14 21:02 ` Ingo Molnar
2007-02-14 21:12 ` Ingo Molnar
2007-02-14 21:26 ` Linus Torvalds
2007-02-14 21:35 ` Ingo Molnar
2007-02-15 2:52 ` Zach Brown
2007-02-14 21:44 ` Ingo Molnar
2007-02-14 21:56 ` Alan
2007-02-14 22:32 ` Ingo Molnar
2007-02-15 1:01 ` Davide Libenzi
2007-02-15 1:28 ` Davide Libenzi
2007-02-18 20:01 ` Pavel Machek
2007-02-18 20:37 ` Davide Libenzi
2007-02-18 21:04 ` Michael K. Edwards
2007-02-14 21:09 ` Davide Libenzi
2007-02-14 22:09 ` Ingo Molnar
2007-02-14 23:13 ` Linus Torvalds
2007-02-14 23:44 ` Ingo Molnar
2007-02-15 0:04 ` Ingo Molnar
2007-02-15 13:35 ` Evgeniy Polyakov
2007-02-15 16:09 ` Linus Torvalds
2007-02-15 16:37 ` Evgeniy Polyakov
2007-02-15 17:42 ` Linus Torvalds
2007-02-15 18:11 ` Evgeniy Polyakov
2007-02-15 18:25 ` Linus Torvalds
2007-02-15 19:04 ` Evgeniy Polyakov
2007-02-15 19:28 ` Linus Torvalds
2007-02-15 20:07 ` Linus Torvalds
2007-02-15 21:17 ` Davide Libenzi
2007-02-15 22:34 ` Michael K. Edwards
2007-02-16 12:28 ` Ingo Molnar [this message]
2007-02-16 13:28 ` Evgeniy Polyakov
2007-02-16 8:57 ` Evgeniy Polyakov
2007-02-16 15:54 ` Linus Torvalds
2007-02-16 16:05 ` Evgeniy Polyakov
2007-02-16 16:53 ` Ray Lee
2007-02-16 16:58 ` Evgeniy Polyakov
2007-02-16 20:20 ` Cyrill V. Gorcunov
2007-02-17 10:02 ` Evgeniy Polyakov
2007-02-17 17:59 ` Cyrill V. Gorcunov
2007-02-17 4:54 ` Ray Lee
2007-02-17 10:15 ` Evgeniy Polyakov
2007-02-15 18:46 ` bert hubert
2007-02-15 19:10 ` Evgeniy Polyakov
2007-02-15 19:16 ` Zach Brown
2007-02-15 19:26 ` Eric Dumazet
2007-02-15 17:05 ` Davide Libenzi
2007-02-15 17:17 ` Evgeniy Polyakov
2007-02-15 17:39 ` Davide Libenzi
2007-02-15 18:01 ` Evgeniy Polyakov
2007-02-15 17:17 ` Ulrich Drepper
2007-02-13 14:20 ` [patch 06/11] syslets: core, documentation Ingo Molnar
2007-02-13 20:18 ` Davide Libenzi
2007-02-13 21:34 ` Ingo Molnar
2007-02-13 23:21 ` Davide Libenzi
2007-02-14 0:18 ` Davide Libenzi
2007-02-14 10:36 ` Russell King
2007-02-14 10:50 ` Ingo Molnar
2007-02-14 11:04 ` Russell King
2007-02-14 17:52 ` Davide Libenzi
2007-02-14 18:03 ` Benjamin LaHaise
2007-02-14 19:45 ` Davide Libenzi
2007-02-14 20:03 ` Benjamin LaHaise
2007-02-14 20:14 ` Davide Libenzi
2007-02-14 20:34 ` Benjamin LaHaise
2007-02-14 21:06 ` Davide Libenzi
2007-02-14 21:44 ` Benjamin LaHaise
2007-02-14 23:17 ` Davide Libenzi
2007-02-14 23:40 ` Benjamin LaHaise
2007-02-15 0:35 ` Davide Libenzi
2007-02-15 1:32 ` Michael K. Edwards
2007-02-14 21:49 ` [patch] x86: split FPU state from task state Ingo Molnar
2007-02-14 22:04 ` Benjamin LaHaise
2007-02-14 22:10 ` Arjan van de Ven
2007-02-13 14:20 ` [patch 07/11] syslets: x86, add create_async_thread() method Ingo Molnar
[not found] ` <20061213130211.GT21847@elte.hu>
2007-02-15 10:13 ` [patch 19/31] clockevents: i386 drivers Andrew Morton
2007-02-17 14:57 [patch 05/11] syslets: core code Al Boldi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070216122806.GA27455@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@zip.com.au \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=bcrl@kvack.org \
--cc=davem@davemloft.net \
--cc=davidel@xmailserver.org \
--cc=drepper@redhat.com \
--cc=hch@infradead.org \
--cc=johnpol@2ka.mipt.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=suparna@in.ibm.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=zach.brown@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®