Zbr's days.
February
Sun Mon Tue Wed Thu Fri Sat
       
27      
2007
Months
Feb

About :: TODO :: Blog :: RSS :: Old blog :: Projects :: GIT :: Gallery :: Notes

Tue, 27 Feb 2007

All fights about kevent vs. threadlet are over. [ND]


I hope so, since wasting a time in completely empty discussions is not a way to have at least some progress.
Eventually we all (Linus, Ingo an me) concluded that better live in piece and have mixed events and thread design - event ring can be used for IO completion events, IO itself can be backed (if blocks) by threadlet.

So, let's calculate what happend:

  • we wasted 48 hours in stupid words thrown into each other
  • I ran some syslets tests and found that:
    • in Ingo web server there are no reschedulings at all in my environments, so threadlets do no work there as cachemiss threads
    • real disk IO case (using Jens Axboe's FIO tool) shows 30% speed degradation with CFQ scheduler with syslets compared to libaio and sync reads, with deadline scheduler degradation is about 8-10%
  • threadlets are simpler to program for simple test cases (when the whole logical processing can be put into single function without any iteraction with other parts), otherwise it can end up as a disaster to watch synchronization problems
  • kevent likely will not be included
  • kevent likely has some bugs or I screwed my aio tree (it includes syslets/threadlets and kevent)
  • Andrew Morton has a talk at FOSDEM 2007, where he also mentioned kevent as a good thing, but it fails to get attention, since it is a big step in a way people use kernel. Either kevent or something similar could be merged. (Thanks to Xavier Nicollet for pointing that).
    My pessimistic prognosis is about kevent declining.
Many thanks to Ingo Molnar, Davide Libenzi, Linus Torvalds and all others for (sometimes) interesting discussion.

/devel/kevent :: Link / Comments (0)

Please solve this captcha to be allowed to post (need to reload in a minute): 53 * 52

Comments are closed for this story.