summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/runqueue.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index dac0cd9cb9..c1c4fd1b81 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1693,7 +1693,7 @@ def process_setscene_whitelist(rq, rqdata, stampcache, sched, rqex):
1693 def check_norun_task(tid, showerror=False): 1693 def check_norun_task(tid, showerror=False):
1694 (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) 1694 (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
1695 # Ignore covered tasks 1695 # Ignore covered tasks
1696 if tid in rqex.scenequeue_covered: 1696 if tid in rqex.tasks_covered:
1697 return False 1697 return False
1698 # Ignore stamped tasks 1698 # Ignore stamped tasks
1699 if rq.check_stamp_task(tid, taskname, cache=stampcache): 1699 if rq.check_stamp_task(tid, taskname, cache=stampcache):
@@ -1768,7 +1768,10 @@ class RunQueueExecute:
1768 if self.number_tasks <= 0: 1768 if self.number_tasks <= 0:
1769 bb.fatal("Invalid BB_NUMBER_THREADS %s" % self.number_tasks) 1769 bb.fatal("Invalid BB_NUMBER_THREADS %s" % self.number_tasks)
1770 1770
1771 # List of setscene tasks which we've covered
1771 self.scenequeue_covered = set() 1772 self.scenequeue_covered = set()
1773 # List of tasks which are covered (including setscene ones)
1774 self.tasks_covered = set()
1772 self.scenequeue_notcovered = set() 1775 self.scenequeue_notcovered = set()
1773 self.scenequeue_notneeded = set() 1776 self.scenequeue_notneeded = set()
1774 1777
@@ -1958,7 +1961,7 @@ class RunQueueExecute:
1958 if task is not None: 1961 if task is not None:
1959 (mc, fn, taskname, taskfn) = split_tid_mcfn(task) 1962 (mc, fn, taskname, taskfn) = split_tid_mcfn(task)
1960 1963
1961 if task in self.scenequeue_covered: 1964 if task in self.tasks_covered:
1962 logger.debug(2, "Setscene covered task %s", task) 1965 logger.debug(2, "Setscene covered task %s", task)
1963 self.task_skip(task, "covered") 1966 self.task_skip(task, "covered")
1964 return True 1967 return True
@@ -2089,6 +2092,7 @@ class RunQueueExecute:
2089 2092
2090 logger.debug(1, 'Found task %s which could be accelerated', task) 2093 logger.debug(1, 'Found task %s which could be accelerated', task)
2091 self.scenequeue_covered.add(task) 2094 self.scenequeue_covered.add(task)
2095 self.tasks_covered.add(task)
2092 self.scenequeue_updatecounters(task) 2096 self.scenequeue_updatecounters(task)
2093 2097
2094 def sq_check_taskfail(self, task): 2098 def sq_check_taskfail(self, task):
@@ -2500,24 +2504,24 @@ def start_runqueue_tasks(rqexec):
2500 for tid in rqexec.rqdata.runtaskentries: 2504 for tid in rqexec.rqdata.runtaskentries:
2501 if len(rqexec.rqdata.runtaskentries[tid].depends) == 0: 2505 if len(rqexec.rqdata.runtaskentries[tid].depends) == 0:
2502 rqexec.setbuildable(tid) 2506 rqexec.setbuildable(tid)
2503 if len(rqexec.rqdata.runtaskentries[tid].revdeps) > 0 and rqexec.rqdata.runtaskentries[tid].revdeps.issubset(rqexec.scenequeue_covered): 2507 if len(rqexec.rqdata.runtaskentries[tid].revdeps) > 0 and rqexec.rqdata.runtaskentries[tid].revdeps.issubset(rqexec.tasks_covered):
2504 rqexec.scenequeue_covered.add(tid) 2508 rqexec.tasks_covered.add(tid)
2505 2509
2506 found = True 2510 found = True
2507 while found: 2511 while found:
2508 found = False 2512 found = False
2509 for tid in rqexec.rqdata.runtaskentries: 2513 for tid in rqexec.rqdata.runtaskentries:
2510 if tid in rqexec.scenequeue_covered: 2514 if tid in rqexec.tasks_covered:
2511 continue 2515 continue
2512 logger.debug(1, 'Considering %s: %s' % (tid, str(rqexec.rqdata.runtaskentries[tid].revdeps))) 2516 logger.debug(1, 'Considering %s: %s' % (tid, str(rqexec.rqdata.runtaskentries[tid].revdeps)))
2513 2517
2514 if len(rqexec.rqdata.runtaskentries[tid].revdeps) > 0 and rqexec.rqdata.runtaskentries[tid].revdeps.issubset(rqexec.scenequeue_covered): 2518 if len(rqexec.rqdata.runtaskentries[tid].revdeps) > 0 and rqexec.rqdata.runtaskentries[tid].revdeps.issubset(rqexec.tasks_covered):
2515 if tid in rqexec.scenequeue_notcovered: 2519 if tid in rqexec.scenequeue_notcovered:
2516 continue 2520 continue
2517 found = True 2521 found = True
2518 rqexec.scenequeue_covered.add(tid) 2522 rqexec.tasks_covered.add(tid)
2519 2523
2520 logger.debug(1, 'Skip list %s', sorted(rqexec.scenequeue_covered)) 2524 logger.debug(1, 'Skip list %s', sorted(rqexec.tasks_covered))
2521 2525
2522 for task in self.rq.scenequeue_notcovered: 2526 for task in self.rq.scenequeue_notcovered:
2523 logger.debug(1, 'Not skipping task %s', task) 2527 logger.debug(1, 'Not skipping task %s', task)