Re: [PATCH 2 of 4] Introduce i386 fibril scheduling

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ingo Molnar
Date: Thursday, February 1, 2007 - 6:02 am

* Ingo Molnar <mingo@elte.hu> wrote:


let me clarify this: i very much like your AIO patchset in general, in 
the sense that it 'completes' the AIO implementation: finally everything 
can be done via it, greatly increasing its utility and hopefully its 
penetration. This is the most important step, by far.

what i dont really like /the particular/ concept above - the 
introduction of 'fibrils' as a hard distinction of kernel threads. They 
are /almost/ kernel threads, but still by being different they create 
alot of duplication and miss out on a good deal of features that kernel 
threads have naturally.

It kind of hurts to say this because i'm usually quite concept-happy - 
one can easily get addicted to the introduction of new core kernel 
concepts :-) But i really, really think we dont want to do fibrils but 
we want to do kernel threads, and i havent really seen a discussion 
about why they shouldnt be done via kernel threads.

Nor have i seen a discussion that whatever threading concept we use for 
AIO within the kernel, it is really a fallback thing, not the primary 
goal of "native" KAIO design. The primary goal of KAIO design is to 
arrive at a state machine - and for one of the most important IO 
disciplines, networking, that is reality already. (For filesystem events 
i doubt we will ever be able to build an IO state machine - but there 
are lots of crazy folks out there so it's not fundamentally impossible, 
just very, very hard.)

so my suggestions center around the notion of extending kernel threads 
to support the features you find important in fibrils:


but i'm willing to be convinced of the opposite as well, as always. (I'm 
real good at quickly changing my mind, especially when i'm embarrasingly 
wrong about something. So please fire away and dont hold back.)

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

Messages in current thread:
[PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Tue Jan 30, 1:39 pm)
[PATCH 1 of 4] Introduce per_call_chain(), Zach Brown, (Tue Jan 30, 1:39 pm)
[PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Tue Jan 30, 1:39 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Tue Jan 30, 2:58 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Tue Jan 30, 3:23 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Tue Jan 30, 3:40 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Tue Jan 30, 3:53 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Tue Jan 30, 3:53 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Tue Jan 30, 4:45 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Benjamin Herrenschmidt, (Tue Jan 30, 7:04 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Benjamin Herrenschmidt, (Tue Jan 30, 7:07 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Tue Jan 30, 7:46 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Tue Jan 30, 8:02 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Benjamin Herrenschmidt, (Tue Jan 30, 10:16 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Nick Piggin, (Tue Jan 30, 10:36 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Nick Piggin, (Tue Jan 30, 10:51 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Tue Jan 30, 11:06 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Ingo Molnar, (Wed Jan 31, 1:43 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Xavier Bestel, (Wed Jan 31, 3:50 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Wed Jan 31, 10:38 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Wed Jan 31, 10:47 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Benjamin LaHaise, (Wed Jan 31, 10:51 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Wed Jan 31, 10:59 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Wed Jan 31, 11:20 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Wed Jan 31, 12:25 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Wed Jan 31, 12:28 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Benjamin LaHaise, (Wed Jan 31, 1:05 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Joel Becker, (Wed Jan 31, 1:13 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Zach Brown, (Wed Jan 31, 1:41 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Thu Feb 1, 1:36 am)
Re: [PATCH 4 of 4] Introduce aio system call submission an ..., Suparna Bhattacharya, (Thu Feb 1, 4:13 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Thu Feb 1, 6:02 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Christoph Hellwig, (Thu Feb 1, 6:19 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Thu Feb 1, 6:52 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Mark Lord, (Thu Feb 1, 10:13 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Thu Feb 1, 11:02 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Thu Feb 1, 1:07 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Thu Feb 1, 2:52 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Benjamin LaHaise, (Thu Feb 1, 3:23 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Thu Feb 1, 3:37 pm)
Re: [PATCH 4 of 4] Introduce aio system call submission an ..., Suparna Bhattacharya, (Thu Feb 1, 8:35 pm)
Re: [PATCH 4 of 4] Introduce aio system call submission an ..., Suparna Bhattacharya, (Fri Feb 2, 12:19 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Fri Feb 2, 3:49 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Andi Kleen, (Fri Feb 2, 6:22 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Andi Kleen, (Fri Feb 2, 6:23 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 8:56 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 1:14 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Fri Feb 2, 1:58 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 2:09 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 2:30 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Fri Feb 2, 3:21 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Fri Feb 2, 3:42 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 3:49 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 4:01 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 4:17 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Fri Feb 2, 4:37 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Fri Feb 2, 4:55 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Fri Feb 2, 5:02 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, bert hubert, (Fri Feb 2, 5:23 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Fri Feb 2, 5:56 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Suparna Bhattacharya, (Sat Feb 3, 12:15 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Sat Feb 3, 1:23 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Matt Mackall, (Sat Feb 3, 2:25 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Ingo Molnar, (Sat Feb 3, 3:03 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Sat Feb 3, 10:12 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Davide Libenzi, (Sat Feb 3, 10:13 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Davide Libenzi, (Sun Feb 4, 1:00 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 9:44 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 10:02 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 10:12 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 10:44 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 10:54 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 11:24 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 11:52 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 12:20 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 12:26 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 12:38 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 12:41 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 1:10 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 1:21 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Mon Feb 5, 1:39 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Mon Feb 5, 1:42 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 2:09 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 2:21 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Kent Overstreet, (Mon Feb 5, 2:31 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, bert hubert, (Mon Feb 5, 2:36 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, David Miller, (Mon Feb 5, 2:44 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Mon Feb 5, 2:57 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, bert hubert, (Mon Feb 5, 3:07 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Mon Feb 5, 3:15 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 3:34 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 5:15 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Scot McKinley, (Mon Feb 5, 5:27 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Mon Feb 5, 5:32 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, David Miller, (Mon Feb 5, 5:48 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Joel Becker, (Mon Feb 5, 5:48 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Tue Feb 6, 1:25 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Tue Feb 6, 1:46 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, David Miller, (Tue Feb 6, 2:16 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Tue Feb 6, 2:28 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, David Miller, (Tue Feb 6, 2:31 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Eric Dumazet, (Tue Feb 6, 2:46 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Tue Feb 6, 2:50 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Zach Brown, (Tue Feb 6, 3:28 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Kent Overstreet, (Tue Feb 6, 3:45 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Linus Torvalds, (Tue Feb 6, 4:04 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Tue Feb 6, 4:23 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Joel Becker, (Tue Feb 6, 4:39 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Tue Feb 6, 4:56 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Joel Becker, (Tue Feb 6, 5:06 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Tue Feb 6, 5:23 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Joel Becker, (Tue Feb 6, 5:44 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Davide Libenzi, (Tue Feb 6, 6:15 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Kent Overstreet, (Tue Feb 6, 6:22 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Kent Overstreet, (Tue Feb 6, 6:24 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Joel Becker, (Tue Feb 6, 6:30 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Michael K. Edwards, (Tue Feb 6, 11:16 pm)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Michael K. Edwards, (Wed Feb 7, 2:17 am)
Re: [PATCH 2 of 4] Introduce i386 fibril scheduling, Michael K. Edwards, (Wed Feb 7, 2:37 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Fri Feb 9, 3:33 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Davide Libenzi, (Fri Feb 9, 4:11 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Fri Feb 9, 4:35 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Eric Dumazet, (Fri Feb 9, 5:04 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Fri Feb 9, 5:12 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, bert hubert, (Sat Feb 10, 3:47 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Davide Libenzi, (Sat Feb 10, 11:19 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Davide Libenzi, (Sat Feb 10, 11:45 am)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Sat Feb 10, 12:01 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Sat Feb 10, 12:35 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Davide Libenzi, (Sat Feb 10, 1:59 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, David Miller, (Sat Feb 10, 5:56 pm)
Re: [PATCH 0 of 4] Generic AIO by scheduling stacks, Linus Torvalds, (Sat Feb 10, 7:49 pm)