Repository navigation
Commit bd98ca2
committed
topology: cmake: build topologies in parallel, add -s to force sequential
alsatplg custom commands were marked USES_TERMINAL. With the Ninja
generator this places them in the single-job "console" pool, which
serializes every topology build regardless of the -j value passed to
ninja. Building all 579 topologies therefore never used more than one
core, even on a many-core machine.
Drop USES_TERMINAL by default so Ninja can run alsatplg invocations in
parallel, controlled by a new TPLG_SEQUENTIAL_BUILD CMake option
(default OFF).
Add a -s flag to build-tools.sh that sets TPLG_SEQUENTIAL_BUILD=ON, to
restore the old, easier to debug one-at-a-time behavior when needed.
It updates the CMake cache in place, so it also works on an existing
incremental build tree without deleting it.
Results
Sequential (before this patch or with -T -s with this patch):
./scripts/build-tools.sh -T -s 19.30s user 2.34s system 99% cpu 21.817 total
Parallel:
rm -rf tools/build_tools; time ./scripts/build-tools.sh -T
./scripts/build-tools.sh -T 33.79s user 3.52s system 986% cpu 3.783 total
The build time changes from ~22s to ~4s
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>1 parent 73c674a commit bd98ca2
2 files changed
Lines changed: 34 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| |||
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
44 | | - | |
| 46 | + | |
| 47 | + | |
45 | 48 | | |
46 | 49 | | |
47 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
48 | 59 | | |
49 | 60 | | |
50 | 61 | | |
| |||
95 | 106 | | |
96 | 107 | | |
97 | 108 | | |
98 | | - | |
| 109 | + | |
99 | 110 | | |
100 | 111 | | |
101 | 112 | | |
102 | 113 | | |
103 | 114 | | |
| 115 | + | |
104 | 116 | | |
105 | 117 | | |
106 | 118 | | |
| |||
120 | 132 | | |
121 | 133 | | |
122 | 134 | | |
123 | | - | |
| 135 | + | |
124 | 136 | | |
125 | 137 | | |
126 | 138 | | |
127 | 139 | | |
| 140 | + | |
128 | 141 | | |
129 | 142 | | |
130 | 143 | | |
| |||
153 | 166 | | |
154 | 167 | | |
155 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
156 | 174 | | |
157 | 175 | | |
158 | 176 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
5 | 15 | | |
6 | 16 | | |
7 | 17 | | |
| |||
69 | 79 | | |
70 | 80 | | |
71 | 81 | | |
72 | | - | |
| 82 | + | |
73 | 83 | | |
74 | 84 | | |
75 | 85 | | |
| |||
97 | 107 | | |
98 | 108 | | |
99 | 109 | | |
100 | | - | |
| 110 | + | |
101 | 111 | | |
102 | 112 | | |
103 | 113 | | |
| |||
0 commit comments