summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-03 16:11:02 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-15 10:28:12 +0100
commitcfb7312b72b7bfaec05ca6b6ed0735473b2724a7 (patch)
tree3f77f44b3e83aa717848027bef23d493e28ba558 /bitbake
parentdd7f09f471f19b8a03d62ff3a9a48a3173c2458f (diff)
downloadopenembedded-core-contrib-cfb7312b72b7bfaec05ca6b6ed0735473b2724a7.tar.gz
bitbake: runqueue: Merge stats handling together for setscene/real tasks
Use a seperate stats class for scenequeue tasks and move the setup into the base class. Update references accordingly. (Bitbake rev: 32f39bbd5d3b7394689da9ba05be2c15b4523b27) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/runqueue.py39
1 files changed, 20 insertions, 19 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 5832db4ae5..3cc804de45 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1748,6 +1748,9 @@ class RunQueueExecute:
self.stampcache = {}
+ self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
+ self.sq_stats = RunQueueStats(len(self.rqdata.runq_setscene_tids))
+
for mc in rq.worker:
rq.worker[mc].pipe.setrunqueueexec(self)
for mc in rq.fakeworker:
@@ -1802,8 +1805,9 @@ class RunQueueExecute:
def finish(self):
self.rq.state = runQueueCleanUp
- if self.stats.active > 0:
- bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
+ active = self.stats.active + self.sq_stats.active
+ if active > 0:
+ bb.event.fire(runQueueExitWait(active), self.cfgData)
self.rq.read_workers()
return self.rq.active_fds()
@@ -1831,7 +1835,8 @@ class RunQueueExecute:
return valid
def can_start_task(self):
- can_start = self.stats.active < self.number_tasks
+ active = self.stats.active + self.sq_stats.active
+ can_start = active < self.number_tasks
return can_start
class RunQueueExecuteDummy(RunQueueExecute):
@@ -1847,8 +1852,6 @@ class RunQueueExecuteTasks(RunQueueExecute):
def __init__(self, rq):
RunQueueExecute.__init__(self, rq)
- self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
-
self.stampcache = {}
# Mark initial buildable tasks
@@ -2358,8 +2361,6 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
rq.state = runQueueRunInit
return
- self.stats = RunQueueStats(len(self.rqdata.runq_setscene_tids))
-
self.sqdata = SQData()
build_scenequeue_data(self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self)
@@ -2401,13 +2402,13 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.rq.state = runQueueCleanUp
def sq_task_complete(self, task):
- self.stats.taskCompleted()
- bb.event.fire(sceneQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
+ self.sq_stats.taskCompleted()
+ bb.event.fire(sceneQueueTaskCompleted(task, self.sq_stats, self.rq), self.cfgData)
self.sq_task_completeoutright(task)
def sq_task_fail(self, task, result):
- self.stats.taskFailed()
- bb.event.fire(sceneQueueTaskFailed(task, self.stats, result, self), self.cfgData)
+ self.sq_stats.taskFailed()
+ bb.event.fire(sceneQueueTaskFailed(task, self.sq_stats, result, self), self.cfgData)
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task, True)
self.sq_check_taskfail(task)
@@ -2415,8 +2416,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
def sq_task_failoutright(self, task):
self.sq_running.add(task)
self.sq_buildable.add(task)
- self.stats.taskSkipped()
- self.stats.taskCompleted()
+ self.sq_stats.taskSkipped()
+ self.sq_stats.taskCompleted()
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task, True)
@@ -2424,8 +2425,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.sq_running.add(task)
self.sq_buildable.add(task)
self.sq_task_completeoutright(task)
- self.stats.taskSkipped()
- self.stats.taskCompleted()
+ self.sq_stats.taskSkipped()
+ self.sq_stats.taskCompleted()
def sq_execute(self):
"""
@@ -2480,7 +2481,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.sq_task_failoutright(task)
return True
- startevent = sceneQueueTaskStarted(task, self.stats, self.rq)
+ startevent = sceneQueueTaskStarted(task, self.sq_stats, self.rq)
bb.event.fire(startevent, self.cfgData)
taskdepdata = self.sq_build_taskdepdata(task)
@@ -2501,11 +2502,11 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.build_stamps2.append(self.build_stamps[task])
self.sq_running.add(task)
self.sq_live.add(task)
- self.stats.taskActive()
+ self.sq_stats.taskActive()
if self.can_start_task():
return True
- if self.stats.active > 0:
+ if self.sq_stats.active > 0:
self.rq.read_workers()
return self.rq.active_fds()
@@ -2522,7 +2523,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.rq.state = runQueueRunInit
- completeevent = sceneQueueComplete(self.stats, self.rq)
+ completeevent = sceneQueueComplete(self.sq_stats, self.rq)
bb.event.fire(completeevent, self.cfgData)
return True