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).
Ken.Peters at jpl.nasa.gov
More information about the users