diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-12-15 17:47:59 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-12-16 23:27:14 +0000 |
| commit | f397a61f7c88b3574258deb20f737d8e4679f49b (patch) | |
| tree | f5c17a536ffb63f9dba828ebffeb8392ab913f20 /bitbake/lib/bb | |
| parent | d98e9d86d17c62a08fd5cfe78e2350242407bb78 (diff) | |
| download | poky-f397a61f7c88b3574258deb20f737d8e4679f49b.tar.gz | |
bitbake: runqueue: Optimise task filtering
We were seeing this running thousands of times with hashequiv, do
the filtering where it makes more sense and make it persist.
(Bitbake rev: 2cfeb9998a8ad5b1dcda0bb4e192c5e4306dab17)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 73775d9761..b90ac875e3 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -148,8 +148,9 @@ class RunQueueScheduler(object): | |||
| 148 | """ | 148 | """ |
| 149 | Return the id of the first task we find that is buildable | 149 | Return the id of the first task we find that is buildable |
| 150 | """ | 150 | """ |
| 151 | # Once tasks are running we don't need to worry about them again | ||
| 152 | self.buildable.difference_update(self.rq.runq_running) | ||
| 151 | buildable = set(self.buildable) | 153 | buildable = set(self.buildable) |
| 152 | buildable.difference_update(self.rq.runq_running) | ||
| 153 | buildable.difference_update(self.rq.holdoff_tasks) | 154 | buildable.difference_update(self.rq.holdoff_tasks) |
| 154 | buildable.intersection_update(self.rq.tasks_covered | self.rq.tasks_notcovered) | 155 | buildable.intersection_update(self.rq.tasks_covered | self.rq.tasks_notcovered) |
| 155 | if not buildable: | 156 | if not buildable: |
| @@ -207,8 +208,6 @@ class RunQueueScheduler(object): | |||
| 207 | 208 | ||
| 208 | def newbuildable(self, task): | 209 | def newbuildable(self, task): |
| 209 | self.buildable.add(task) | 210 | self.buildable.add(task) |
| 210 | # Once tasks are running we don't need to worry about them again | ||
| 211 | self.buildable.difference_update(self.rq.runq_running) | ||
| 212 | 211 | ||
| 213 | def removebuildable(self, task): | 212 | def removebuildable(self, task): |
| 214 | self.buildable.remove(task) | 213 | self.buildable.remove(task) |
