Patchwork [bitbake-devel] runqueue: Fix task weighting algorithm

login
register
mail settings
Submitter Richard Purdie
Date April 13, 2014, 10:45 a.m.
Message ID <1397385903.15843.46.camel@ted>
Download mbox | patch
Permalink /patch/70551/
State New
Headers show

Comments

Richard Purdie - April 13, 2014, 10:45 a.m.
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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---

Patch

diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 274ccf2..6ca693d 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -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: