diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-12-15 15:58:41 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-12-17 19:07:21 +0000 |
| commit | 69a4180c88ddd231c99baf76d5b606e6fd2b4875 (patch) | |
| tree | 3b084261cd63355c1451a4d71b3c528740947fb9 /bitbake | |
| parent | e706249f7b68fdb57b8400d5d09ac4555a0868b5 (diff) | |
| download | poky-69a4180c88ddd231c99baf76d5b606e6fd2b4875.tar.gz | |
bitbake: runqueue: Remove tie between rqexe and starts_worker
We've been moving to try and separate several pieces of runqueue. Allow
start_worker to operate separately to rqexe since they don't need to be
tied. This allows rqexe to be available to print_diff for future
improvements.
(Bitbake rev: 834e452243ff2eea6e8e2e7f4935b5233ffb4b00)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 864708ee4a..24497c5c17 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -1390,12 +1390,12 @@ class RunQueue: | |||
| 1390 | continue | 1390 | continue |
| 1391 | worker.pipe.close() | 1391 | worker.pipe.close() |
| 1392 | 1392 | ||
| 1393 | def start_worker(self): | 1393 | def start_worker(self, rqexec): |
| 1394 | if self.worker: | 1394 | if self.worker: |
| 1395 | self.teardown_workers() | 1395 | self.teardown_workers() |
| 1396 | self.teardown = False | 1396 | self.teardown = False |
| 1397 | for mc in self.rqdata.dataCaches: | 1397 | for mc in self.rqdata.dataCaches: |
| 1398 | self.worker[mc] = self._start_worker(mc) | 1398 | self.worker[mc] = self._start_worker(mc, False, rqexec) |
| 1399 | 1399 | ||
| 1400 | def start_fakeworker(self, rqexec, mc): | 1400 | def start_fakeworker(self, rqexec, mc): |
| 1401 | if not mc in self.fakeworker: | 1401 | if not mc in self.fakeworker: |
| @@ -1555,6 +1555,9 @@ class RunQueue: | |||
| 1555 | ('bb.event.HeartbeatEvent',), data=self.cfgData) | 1555 | ('bb.event.HeartbeatEvent',), data=self.cfgData) |
| 1556 | self.dm_event_handler_registered = True | 1556 | self.dm_event_handler_registered = True |
| 1557 | 1557 | ||
| 1558 | self.rqdata.init_progress_reporter.next_stage() | ||
| 1559 | self.rqexe = RunQueueExecute(self) | ||
| 1560 | |||
| 1558 | dump = self.cooker.configuration.dump_signatures | 1561 | dump = self.cooker.configuration.dump_signatures |
| 1559 | if dump: | 1562 | if dump: |
| 1560 | self.rqdata.init_progress_reporter.finish() | 1563 | self.rqdata.init_progress_reporter.finish() |
| @@ -1566,10 +1569,8 @@ class RunQueue: | |||
| 1566 | self.state = runQueueComplete | 1569 | self.state = runQueueComplete |
| 1567 | 1570 | ||
| 1568 | if self.state is runQueueSceneInit: | 1571 | if self.state is runQueueSceneInit: |
| 1569 | self.rqdata.init_progress_reporter.next_stage() | 1572 | self.start_worker(self.rqexe) |
| 1570 | self.start_worker() | 1573 | self.rqdata.init_progress_reporter.finish() |
| 1571 | self.rqdata.init_progress_reporter.next_stage() | ||
| 1572 | self.rqexe = RunQueueExecute(self) | ||
| 1573 | 1574 | ||
| 1574 | # If we don't have any setscene functions, skip execution | 1575 | # If we don't have any setscene functions, skip execution |
| 1575 | if not self.rqdata.runq_setscene_tids: | 1576 | if not self.rqdata.runq_setscene_tids: |
| @@ -1823,11 +1824,6 @@ class RunQueueExecute: | |||
| 1823 | 1824 | ||
| 1824 | self.stats = RunQueueStats(len(self.rqdata.runtaskentries), len(self.rqdata.runq_setscene_tids)) | 1825 | self.stats = RunQueueStats(len(self.rqdata.runtaskentries), len(self.rqdata.runq_setscene_tids)) |
| 1825 | 1826 | ||
| 1826 | for mc in rq.worker: | ||
| 1827 | rq.worker[mc].pipe.setrunqueueexec(self) | ||
| 1828 | for mc in rq.fakeworker: | ||
| 1829 | rq.fakeworker[mc].pipe.setrunqueueexec(self) | ||
| 1830 | |||
| 1831 | if self.number_tasks <= 0: | 1827 | if self.number_tasks <= 0: |
| 1832 | bb.fatal("Invalid BB_NUMBER_THREADS %s" % self.number_tasks) | 1828 | bb.fatal("Invalid BB_NUMBER_THREADS %s" % self.number_tasks) |
| 1833 | 1829 | ||
| @@ -2974,7 +2970,7 @@ def build_scenequeue_data(sqdata, rqdata, sqrq): | |||
| 2974 | if not sqdata.sq_revdeps[tid]: | 2970 | if not sqdata.sq_revdeps[tid]: |
| 2975 | sqrq.sq_buildable.add(tid) | 2971 | sqrq.sq_buildable.add(tid) |
| 2976 | 2972 | ||
| 2977 | rqdata.init_progress_reporter.finish() | 2973 | rqdata.init_progress_reporter.next_stage() |
| 2978 | 2974 | ||
| 2979 | sqdata.noexec = set() | 2975 | sqdata.noexec = set() |
| 2980 | sqdata.stamppresent = set() | 2976 | sqdata.stamppresent = set() |
| @@ -3193,9 +3189,6 @@ class runQueuePipe(): | |||
| 3193 | self.rqexec = rqexec | 3189 | self.rqexec = rqexec |
| 3194 | self.fakerootlogs = fakerootlogs | 3190 | self.fakerootlogs = fakerootlogs |
| 3195 | 3191 | ||
| 3196 | def setrunqueueexec(self, rqexec): | ||
| 3197 | self.rqexec = rqexec | ||
| 3198 | |||
| 3199 | def read(self): | 3192 | def read(self): |
| 3200 | for workers, name in [(self.rq.worker, "Worker"), (self.rq.fakeworker, "Fakeroot")]: | 3193 | for workers, name in [(self.rq.worker, "Worker"), (self.rq.fakeworker, "Fakeroot")]: |
| 3201 | for worker in workers.values(): | 3194 | for worker in workers.values(): |
