summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-06 14:16:12 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-15 10:28:12 +0100
commit376aa786cde14a8d7a29a4a569f19a0f211e5d52 (patch)
tree1575dc56a618477b7262023a2ce1b71eec56e074
parentfb8fc5e78c475e217655a05add516c2520d17a4e (diff)
downloadpoky-376aa786cde14a8d7a29a4a569f19a0f211e5d52.tar.gz
bitbake: runqueue: Add covered_tasks (or 'collated_deps') to scenequeue data
Its useful to have a list of all the tasks a given setscene task covers and we can easily generate this data whilst doing other data processing. This is used in later changes to runqueue rather than trying to compute it on the fly which is difficult. (Bitbake rev: 63ddc2fec40bd1b456702b97091f9dc5ef70a941) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/runqueue.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 3cf8aed06f..c06e4199d9 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -2291,6 +2291,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2291 sq_revdeps = {} 2291 sq_revdeps = {}
2292 sq_revdeps_new = {} 2292 sq_revdeps_new = {}
2293 sq_revdeps_squash = {} 2293 sq_revdeps_squash = {}
2294 sq_collated_deps = {}
2294 2295
2295 # We need to construct a dependency graph for the setscene functions. Intermediate 2296 # We need to construct a dependency graph for the setscene functions. Intermediate
2296 # dependencies between the setscene tasks only complicate the code. This code 2297 # dependencies between the setscene tasks only complicate the code. This code
@@ -2312,6 +2313,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2312 2313
2313 # Secondly process the chains between setscene tasks. 2314 # Secondly process the chains between setscene tasks.
2314 for tid in rqdata.runq_setscene_tids: 2315 for tid in rqdata.runq_setscene_tids:
2316 sq_collated_deps[tid] = set()
2315 #bb.warn("Added endpoint 2 %s" % (tid)) 2317 #bb.warn("Added endpoint 2 %s" % (tid))
2316 for dep in rqdata.runtaskentries[tid].depends: 2318 for dep in rqdata.runtaskentries[tid].depends:
2317 if tid in sq_revdeps[dep]: 2319 if tid in sq_revdeps[dep]:
@@ -2331,6 +2333,9 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2331 tasks |= task 2333 tasks |= task
2332 if sq_revdeps_new[point]: 2334 if sq_revdeps_new[point]:
2333 tasks |= sq_revdeps_new[point] 2335 tasks |= sq_revdeps_new[point]
2336 if point not in rqdata.runq_setscene_tids:
2337 for t in tasks:
2338 sq_collated_deps[t].add(point)
2334 sq_revdeps_new[point] = set() 2339 sq_revdeps_new[point] = set()
2335 if point in rqdata.runq_setscene_tids: 2340 if point in rqdata.runq_setscene_tids:
2336 sq_revdeps_new[point] = tasks 2341 sq_revdeps_new[point] = tasks
@@ -2442,6 +2447,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
2442 2447
2443 sqdata.sq_revdeps = sq_revdeps_squash 2448 sqdata.sq_revdeps = sq_revdeps_squash
2444 sqdata.sq_revdeps2 = copy.deepcopy(sqdata.sq_revdeps) 2449 sqdata.sq_revdeps2 = copy.deepcopy(sqdata.sq_revdeps)
2450 sqdata.sq_covered_tasks = sq_collated_deps
2445 2451
2446 for tid in sqdata.sq_revdeps: 2452 for tid in sqdata.sq_revdeps:
2447 sqdata.sq_deps[tid] = set() 2453 sqdata.sq_deps[tid] = set()