mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
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>
This commit is contained in:
+20
-19
@@ -1748,6 +1748,9 @@ class RunQueueExecute:
|
|||||||
|
|
||||||
self.stampcache = {}
|
self.stampcache = {}
|
||||||
|
|
||||||
|
self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
|
||||||
|
self.sq_stats = RunQueueStats(len(self.rqdata.runq_setscene_tids))
|
||||||
|
|
||||||
for mc in rq.worker:
|
for mc in rq.worker:
|
||||||
rq.worker[mc].pipe.setrunqueueexec(self)
|
rq.worker[mc].pipe.setrunqueueexec(self)
|
||||||
for mc in rq.fakeworker:
|
for mc in rq.fakeworker:
|
||||||
@@ -1802,8 +1805,9 @@ class RunQueueExecute:
|
|||||||
def finish(self):
|
def finish(self):
|
||||||
self.rq.state = runQueueCleanUp
|
self.rq.state = runQueueCleanUp
|
||||||
|
|
||||||
if self.stats.active > 0:
|
active = self.stats.active + self.sq_stats.active
|
||||||
bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
|
if active > 0:
|
||||||
|
bb.event.fire(runQueueExitWait(active), self.cfgData)
|
||||||
self.rq.read_workers()
|
self.rq.read_workers()
|
||||||
return self.rq.active_fds()
|
return self.rq.active_fds()
|
||||||
|
|
||||||
@@ -1831,7 +1835,8 @@ class RunQueueExecute:
|
|||||||
return valid
|
return valid
|
||||||
|
|
||||||
def can_start_task(self):
|
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
|
return can_start
|
||||||
|
|
||||||
class RunQueueExecuteDummy(RunQueueExecute):
|
class RunQueueExecuteDummy(RunQueueExecute):
|
||||||
@@ -1847,8 +1852,6 @@ class RunQueueExecuteTasks(RunQueueExecute):
|
|||||||
def __init__(self, rq):
|
def __init__(self, rq):
|
||||||
RunQueueExecute.__init__(self, rq)
|
RunQueueExecute.__init__(self, rq)
|
||||||
|
|
||||||
self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
|
|
||||||
|
|
||||||
self.stampcache = {}
|
self.stampcache = {}
|
||||||
|
|
||||||
# Mark initial buildable tasks
|
# Mark initial buildable tasks
|
||||||
@@ -2358,8 +2361,6 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||||||
rq.state = runQueueRunInit
|
rq.state = runQueueRunInit
|
||||||
return
|
return
|
||||||
|
|
||||||
self.stats = RunQueueStats(len(self.rqdata.runq_setscene_tids))
|
|
||||||
|
|
||||||
self.sqdata = SQData()
|
self.sqdata = SQData()
|
||||||
build_scenequeue_data(self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self)
|
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
|
self.rq.state = runQueueCleanUp
|
||||||
|
|
||||||
def sq_task_complete(self, task):
|
def sq_task_complete(self, task):
|
||||||
self.stats.taskCompleted()
|
self.sq_stats.taskCompleted()
|
||||||
bb.event.fire(sceneQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
|
bb.event.fire(sceneQueueTaskCompleted(task, self.sq_stats, self.rq), self.cfgData)
|
||||||
self.sq_task_completeoutright(task)
|
self.sq_task_completeoutright(task)
|
||||||
|
|
||||||
def sq_task_fail(self, task, result):
|
def sq_task_fail(self, task, result):
|
||||||
self.stats.taskFailed()
|
self.sq_stats.taskFailed()
|
||||||
bb.event.fire(sceneQueueTaskFailed(task, self.stats, result, self), self.cfgData)
|
bb.event.fire(sceneQueueTaskFailed(task, self.sq_stats, result, self), self.cfgData)
|
||||||
self.scenequeue_notcovered.add(task)
|
self.scenequeue_notcovered.add(task)
|
||||||
self.scenequeue_updatecounters(task, True)
|
self.scenequeue_updatecounters(task, True)
|
||||||
self.sq_check_taskfail(task)
|
self.sq_check_taskfail(task)
|
||||||
@@ -2415,8 +2416,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||||||
def sq_task_failoutright(self, task):
|
def sq_task_failoutright(self, task):
|
||||||
self.sq_running.add(task)
|
self.sq_running.add(task)
|
||||||
self.sq_buildable.add(task)
|
self.sq_buildable.add(task)
|
||||||
self.stats.taskSkipped()
|
self.sq_stats.taskSkipped()
|
||||||
self.stats.taskCompleted()
|
self.sq_stats.taskCompleted()
|
||||||
self.scenequeue_notcovered.add(task)
|
self.scenequeue_notcovered.add(task)
|
||||||
self.scenequeue_updatecounters(task, True)
|
self.scenequeue_updatecounters(task, True)
|
||||||
|
|
||||||
@@ -2424,8 +2425,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||||||
self.sq_running.add(task)
|
self.sq_running.add(task)
|
||||||
self.sq_buildable.add(task)
|
self.sq_buildable.add(task)
|
||||||
self.sq_task_completeoutright(task)
|
self.sq_task_completeoutright(task)
|
||||||
self.stats.taskSkipped()
|
self.sq_stats.taskSkipped()
|
||||||
self.stats.taskCompleted()
|
self.sq_stats.taskCompleted()
|
||||||
|
|
||||||
def sq_execute(self):
|
def sq_execute(self):
|
||||||
"""
|
"""
|
||||||
@@ -2480,7 +2481,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||||||
self.sq_task_failoutright(task)
|
self.sq_task_failoutright(task)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
startevent = sceneQueueTaskStarted(task, self.stats, self.rq)
|
startevent = sceneQueueTaskStarted(task, self.sq_stats, self.rq)
|
||||||
bb.event.fire(startevent, self.cfgData)
|
bb.event.fire(startevent, self.cfgData)
|
||||||
|
|
||||||
taskdepdata = self.sq_build_taskdepdata(task)
|
taskdepdata = self.sq_build_taskdepdata(task)
|
||||||
@@ -2501,11 +2502,11 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||||||
self.build_stamps2.append(self.build_stamps[task])
|
self.build_stamps2.append(self.build_stamps[task])
|
||||||
self.sq_running.add(task)
|
self.sq_running.add(task)
|
||||||
self.sq_live.add(task)
|
self.sq_live.add(task)
|
||||||
self.stats.taskActive()
|
self.sq_stats.taskActive()
|
||||||
if self.can_start_task():
|
if self.can_start_task():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.stats.active > 0:
|
if self.sq_stats.active > 0:
|
||||||
self.rq.read_workers()
|
self.rq.read_workers()
|
||||||
return self.rq.active_fds()
|
return self.rq.active_fds()
|
||||||
|
|
||||||
@@ -2522,7 +2523,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||||||
|
|
||||||
self.rq.state = runQueueRunInit
|
self.rq.state = runQueueRunInit
|
||||||
|
|
||||||
completeevent = sceneQueueComplete(self.stats, self.rq)
|
completeevent = sceneQueueComplete(self.sq_stats, self.rq)
|
||||||
bb.event.fire(completeevent, self.cfgData)
|
bb.event.fire(completeevent, self.cfgData)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|||||||
Reference in New Issue
Block a user