[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Weird scheduling problem



Hi all,

I have a strange scheduling problem. Let's say I have two (RTL-) threads, A and B, which interact in the following way - B, which has higher priority, calls sem_wait on a semaphore. Whenever A has one piece of data ready for B, A calls sem_post on the same semaphore. 

For whatever reason, when running this example A runs one cycle and so does B. But when I insert another module, being another RTLinux program, whenever usleep() is called from there, both A and B runs another cycle! 

Both A and B are periodic processes with the same periodicity, but only A make calls to pthread_make_periodic_np and pthread_wait_np since B waits for the semaphore and has higher priority than A.

Any thought appreciated!

Regards,
Jonas

______________________________________________________________________
 Jonas Persson                    E-mail: jonas.persson@comsys.se
 Project Manager, M.Sc C.Sc&E     http://www.comsys.se/
 Comsys AB                        Phone: +46-(0)46-286 3051
 Forskningsbyn IDEON              Fax: +46-(0)46-286 3505
 S-223 70 Lund, Sweden