Takashi Iwai <tiwai(a)suse.de> writes:
Jack O'Quin wrote:
But, I have no
reason to believe that it works correctly, and I
suspect that it probably does not.
as Roger pointed, the O(1) scheduler does quite simple tasks for RT
processes. it *should* work. if it deson't work, it's a bug in the
calculation of priority or so.
My comment above referred to the 2.4 scheduler with Linuxthreads. I
don't have enough testing time with 2.6 to make any claims about it.
My initial impression is that it works much better. But, it's too
soon to tell whether my distrust is no longer warranted. :-)
I have not studied the Linux O(1) scheduler implementation. But I
agree that it should be simple enough to work reliably. I wrote an
O(1) scheduler for AIX about 15 years ago. It was not at all
complicated. Once you get the data structures right, it's probably
easier than an O(n) scheduler.
anyway, it's nice for debugging, if you can
reproduce it...
That would be nice, but I cannot.
It's more a matter of leaving things running overnight and having a
realtime thread get behind by a buffer or two before morning. This
might be due to rare kernel latency bugs and not the scheduler at all.
It could even be an application bug, though I doubt it.
There's just something about the 2.4 scheduler that feels wrong. At
this point I'm more interested in 2.6, so I guess I won't worry about
it any more.
--
joq