Messages in this thread | | | Date | Thu, 1 Mar 2007 10:26:34 +0100 | From | Pavel Machek <> | Subject | Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 |
| |
Hi!
> > > I understand that - and I totally agree. > > > But when more complex, more bug-prone code results in higher performance > > > - that must be used. We have linked lists and binary trees - the latter > > > > No-o. Kernel is not designed like that. > > > > Often, more complex and slightly faster code exists, and we simply use > > slower variant, because it is fast enough. > > > > 10% gain in speed is NOT worth major complexity increase. > > Should I create a patch to remove rb-tree implementation?
If you can replace them with something simpler, and no worse than 10% slower in worst case, then go ahead. (We actually tried to do that at some point, only to realize that efence stresses vm subsystem in very unexpected/unfriendly way).
> That practice is stupid IMO.
Too bad. Now you can start Linux fork called Eugenix.
(But really, Linux is not "maximum performance at any cost". Linux is "how fast can we get that while keeping it maintainable?").
That is why, while arguing syslets vs. kevents, you need need to argue not "kevents are faster because they avoid context switch overhead", but "kevents are _so much_ faster that it is worth the added complexity". And Ingo seems to showing you they are not _so much_ faster.
Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |