afraiett at bigpond.net.au
Thu Oct 2 23:28:03 UTC 2003
I think you get around this by using POSIX API instead of the classic API
Kenneth Peters wrote:
> 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
PO Box 859
Hamilton NSW 2303
There are those who seek knowledge for the sake of knowledge - that is CURIOSITY
There are those who seek knowledge to be known by others - that is VANITY
There are those who seek knowledge in order to serve - that is LOVE
Bernard of Clairvaux (1090 - 1153)
More information about the users