Re: Re2: Scheduler
[email protected] Fri, 19 Oct 2007 22:03:47 +0300
| Newsgroups | gmane.os.openbeos.kernel.devel |
|---|---|
| Message-ID | <[email protected]> |
On 10/19/07, Ingo Weinhold <[email protected]> wrote: > Hi André, Hi, Ingo, > I don't know, if you already have commit access, but I'd like to see the > scheduler development in a branch in our repository. I don't have commit access yet. Axel wanted me to ready some patches he'd apply himself before flipping the write access switch. > I believe, a good deal > of people read the commit list just to get a better idea about the state of > various things -- it makes progress so much more palpable than the > occasional mail or blog entry. And others, like Dmitry, might be interested > to look into or play with particular components, or even be able to help > out. Right. I guess I should disclose some information first so that we're on the same page. Like Salvo, I, too, am going to use the scheduler work as (one of the two) my final graduation work. That means I had to spend quite some time in documentation and presentation slides and whatnot, in my native language, and of course in a formal tone much unlike the blog posts I made. So that was one of the 3 things holding me back. Actually, it was thing #2. Thing #1 was that I got ill right after the GSoC submission deadline (thankfully not a moment sooner). I was ill for one and a half weeks, then spent a week feeling fine and catching up with college, then I got ill again for another 2 weeks (whick kind of taught me a lot about how a sedentary lifestyle can ruin one's health). On a positive note, I had plenty of time to think and do mental exercises and simulate the behaviour of my algorithms on my head. It turns out that I figured 10 ways of working around the limitation I described of not having a stable stride after threads were inserted/removed and how it eould bring unbalance... and I wasn't satisfied with any of them (mostly because they didn't really work, only masked the problem in a very hacky-ish way, while not solving it at all). Which brings us to thing #3: I decided to rewrite the algorithm for the 3rd time (remember the stride algo was attempt #2). Well, they say that the third time is a charm, right? So here I am. I haven't committed anything yet because I just dropped the previous effort, and because the guidelines preach not committing unfinished work. Most of the code is re-usable, however, so it won't take long before you'll hear from me again :) I think the new strategy makes a lot of sense now, and it's more intuitive than the math behind the strides (despite my opinion on how cool modular arithmetic is, it was still subtle enough to create a lot of confusion; now it uses the tree in a way that keeps the efficiency I strived for while behaving more like CFS in how it chooses what to run). I'll write about it shortly. In a nutshell: I'm completely anal about my code and would like it to be in a shape that won't ashame me; I would have committed a broken scheduler were I to hold on to my previous effort; I changed the approach and now I'm coding for it; it's easier to grasp now; I'll do a final blog post before committing the code. Do we have a deal? :) Cheers, A. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/