[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