diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-07-06 14:16:12 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-07-15 10:28:12 +0100 |
commit | 376aa786cde14a8d7a29a4a569f19a0f211e5d52 (patch) | |
tree | 1575dc56a618477b7262023a2ce1b71eec56e074 | |
parent | fb8fc5e78c475e217655a05add516c2520d17a4e (diff) | |
download | poky-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.py | 6 |
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() |