bitbake: runqueue: Fix task weighting algorithm

When looking at a list of tasks, do_patch and do_unpack were being
given equal priority when one clearly depends on another. The
reason for this was the default task weights of 0 being to tasks.
This is therefore changed to 1 to allow correct weighting of dependencies
which means the scheduler has better information available to it about
tasks.

Weight endpoints differently (10) for clearer debugging of priorities.

(Bitbake rev: 12dc1d17fac3e8ec420fcafb06186d32fd847d89)

(Bitbake rev: f19f3bf10af52b1610a35bfb47308ff48a5038b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2014-04-13 11:45:03 +01:00
parent 00d8024741
commit 07600df4cb

View File

@@ -370,11 +370,11 @@ class RunQueueData:
for listid in xrange(numTasks):
task_done.append(False)
weight.append(0)
weight.append(1)
deps_left.append(len(self.runq_revdeps[listid]))
for listid in endpoints:
weight[listid] = 1
weight[listid] = 10
task_done[listid] = True
while True: