Problem with SCHED_RR and kernel 2.4.18-4GB

From: g-j v dijk
Date: Mon Dec 29 2003 - 06:09:14 EST


Hi All,

I'm a newbie at Linux, but have been busy developing (with some other people) sort of a DVB zapper demo application/stack on top of Hauppauge HW and SUSE 8.0 kernel 2.4.18-4GB for the last 2 months.

As the stack wil eventually be ported to one (or more) dedicated HW platforms, we defined an OS independant API. Now, we want to be able to set priorities, and have sort of a realtime behaviour.

The problem is that if I implement this, and set scheduling to be SCHED_RR, or SCHED_FIFO, my linux machine hangs. With SCHED_OTHER, I don't have that (note that for testing I used to set all prios to minimum (=1)).

I already read 2 issues/threads on the internet (that's all I could find closely related), but they didn't gave me the solution (http://www.ussg.iu.edu/hypermail/linux/kernel/0206.1/0946.html and http://www.cs.utah.edu/~regehr/hourglass/).

I already tinckered with it for a day now :-(

I checked whether all threads have an OS call (sem_lock, or sleep etc), to allow scheduling and not cause starvation of other processes/threads and yes that is the case and in IMHO this looks fine.

The questions:
1) Is this the right mailinglist for this question? If not, please direct me to the correct one, and I'm sorry for the inconvenience.
2) Attached a snippet of the code I made. Am i missing something obviously?
3) Is there a problem in 2.4.18? And if so, to which kernel should I move?

Thanks a lot,

Gert-Jan van Dijk

_________________________________________________________________
Play online games with your friends with MSN Messenger http://messenger.msn.nl/

Attachment: gosy_thread_snippet.cpp
Description: Binary data