Timeslicing question

Kenneth Peters Kenneth.J.Peters at jpl.nasa.gov
Thu Oct 2 23:04:29 UTC 2003

I am using rtems-4.5.0 with the erc32 BSP (slightly modified for my board). 
I have a situation where there is a task of priority 99 and two tasks of 
priority 100. Timeslicing and preemption are enabled.

I have not completely traced what is happening, but it seems that whichever 
priority 100 task gets in the priority 100 ready chain first never gets 
timesliced out, since _Thread_Dispatch() after the priority 99 task keeps 
resetting the priority 100 task's cpu_time_budget, so 
_Thread_Reset_timeslice() never gets called to take the task off the front 
of the priority 100 ready chain.

Probably I am misunderstanding something, since this seems like a simple 
task situation that should work. Setting different priorities does not 
really accomplish what I need, and manual round-robin with 
rtems_task_wake_after() does not seem to work right either (though I 
expected that would at least get the tasks taking turns, it did not seem to 
work. I am still looking into that).

Any suggestions?

Ken Peters
Ken.Peters at jpl.nasa.gov

More information about the users mailing list