[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