Messages in this thread | | | Date | Tue, 27 May 2003 17:16:28 +0200 | From | Mike Galbraith <> | Subject | [case closed] Re: web page on O(1) scheduler |
| |
At 06:25 PM 5/22/2003 +0200, Mike Galbraith wrote: >At 11:52 AM 5/22/2003 +0200, Mike Galbraith wrote: >>At 10:56 AM 5/21/2003 -0700, David Mosberger wrote: >>> >>>>> On Wed, 21 May 2003 11:26:31 +0200, Mike Galbraith >>> <efault@gmx.de> said: >>> >>> Mike> The page mentions persistent starvation. My own explorations >>> Mike> of this issue indicate that the primary source is always >>> Mike> selecting the highest priority queue. >>> >>>My working assumption is that the problem is a bug with the dynamic >>>prioritization. The task receiving the signals calls sleep() after >>>handling a signal and hence it's dynamic priority should end up higher >>>than the priority of the task sending signals (since the sender never >>>relinquishes the CPU voluntarily). >>> >>>However, I haven't actually had time to look at the relevant code, so >>>I may be missing something. If you understand the issue better, >>>please explain to me why this isn't a dynamic priority issue. >> >>You're right, it looks like a corner case. > >Out of curiosity, is someone hitting that with a real program? > > -Mike > >aside: >if so, I suppose nano-ticks may be needed....
Since I spent a bunch of time fumbling around with this problem, I may as well post one last time and put it to bed. I bet Ingo has a _lot_ better way to cure that problem, but...
Yes indeed, pedantic tracking of cpu usage does fix the problem. It also makes for some interesting changes in contest numbers (well, _I_ find them interesting;) If anyone wants to see the numbers, they're attached. If anyone wants to try the attached diff, it's attached too, have fun... the standard "you get to keep the pieces" lkml warrantee applies :) FWIW, it works just fine here, and the only time someone now manages to steal ticks (one) is (apparently) once in a long while when someone (whose initials appear to be IDE:) keeps interrupts disabled for too long. Nobody has yet managed to steal more than one tick.
The End,
-Mike
P.S. ok, so they're micro-ticks... what's a few orders of magnitude :) [unhandled content-type:application/octet-stream][unhandled content-type:application/octet-stream] | |