[Cbe-oss-dev] [PATCH 3/6] spufs: fix starvation case with terminated spes
Arnd Bergmann
arnd at arndb.de
Fri Feb 15 22:55:02 EST 2008
On Friday 15 February 2008, Luke Browning wrote:
> The problem is not with spu_yield() per se. It is doing what you
> described, but if there is no context on the runqueue it leaves the
> current context loaded. If this context has a high priority, it is not
> preemptable by incoming work. I chose to fix this problem by enhancing
> spu_yield() to check for terminated contexts specifically.
>
> I have another patch coming that is more generic.
Wouldn't it be sufficient to lower the priority of a nonrunning context
to the minimum? We set it in __spu_update_sched_info() when entering
spu_run, so it would be logical to reset the priority when leaving there.
Arnd <><
More information about the cbe-oss-dev
mailing list