Commit 91e32a8
bitbake: runqueue: Fix performance of multiconfigs with large overlap
There have been complaints about the performance of large multiconfig builds
for a while. The key missing data point was that the builds needed to have large
overlaps in sstate objects. This can be simulated by building the same things with
just different TMPDIRs. In runqueue/bitbake terms this equates to large numbers of
deferred tasks.
The issue is that the expensive checks in the setscene loop were hit every time
through runqueue's execute function before the check on deferred tasks. This leads
to task execution starvation as that only happens once per iteration.
Move the skip check earlier in the function which speeds things up enormously
and should improve performance of such builds for users.
(Bitbake rev: 9c6c506757f2b3e28c8b20513b45da6b4659c95f)
Signed-off-by: Richard Purdie <[email protected]>1 parent 6b3f2de commit 91e32a8
1 file changed
+4
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2210 | 2210 | | |
2211 | 2211 | | |
2212 | 2212 | | |
| 2213 | + | |
| 2214 | + | |
| 2215 | + | |
2213 | 2216 | | |
2214 | 2217 | | |
2215 | 2218 | | |
| |||
2239 | 2242 | | |
2240 | 2243 | | |
2241 | 2244 | | |
2242 | | - | |
2243 | | - | |
| 2245 | + | |
2244 | 2246 | | |
2245 | 2247 | | |
2246 | 2248 | | |
| |||
0 commit comments