Repository navigation
Commit 3a3f4a0
committed
fix: forward a stop request to the backends of the chain
The chain holds executives of its own for the model steps it runs, and its batch loop reads the stop
flag only between steps, so a request that arrived while a step was inside a backend waited for that
call to come back. The linguist executive was changed for the same reason under A51, where the point
is the difference between a wait that lasts and one that ends: a table lookup returns in
microseconds, while a model or a script is exactly the wait a caller wants to interrupt.
The executive now overrides the stop hook of ExecutiveBase and stops every backend it has created.
The map of backends is filled while a batch runs on the task thread, and the hook runs on whichever
thread asked for the stop, so the reads and the insertions are guarded by a mutex, and the backends
are stopped after the guard is released.
The suite passes with the change. It carries no case of its own yet: observing the difference needs a
backend that blocks inside one batch, and no fixture provides one - the stub never reads the stop flag
inside a batch, by design, and the lua variant implements S2P and Onset rather than G2P, which is the
interface a chain step imports. A controllable blocking backend and a timing case are the next step,
and that work is recorded rather than skipped.
Squashed with the commits below, which are kept in full on the branch backup/pre-squash-20261004:
- test: give the stub a batch that can be stopped
- test: measure that a stop request reaches the backend of a chain1 parent 035ca9a commit 3a3f4a0
3 files changed
Lines changed: 165 additions & 8 deletions
File tree
- src
- plugins/inferenceinterpreters
- chain
- stub
- tests/auto/Inference
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
470 | 471 | | |
471 | 472 | | |
472 | 473 | | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
473 | 499 | | |
474 | 500 | | |
475 | 501 | | |
| |||
729 | 755 | | |
730 | 756 | | |
731 | 757 | | |
732 | | - | |
733 | | - | |
734 | | - | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
735 | 764 | | |
736 | 765 | | |
737 | 766 | | |
| |||
745 | 774 | | |
746 | 775 | | |
747 | 776 | | |
748 | | - | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
749 | 781 | | |
750 | 782 | | |
751 | 783 | | |
752 | 784 | | |
753 | 785 | | |
| 786 | + | |
| 787 | + | |
754 | 788 | | |
755 | 789 | | |
756 | 790 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
| 5 | + | |
4 | 6 | | |
5 | 7 | | |
6 | 8 | | |
| |||
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
22 | | - | |
| 24 | + | |
| 25 | + | |
23 | 26 | | |
24 | 27 | | |
25 | 28 | | |
| |||
75 | 78 | | |
76 | 79 | | |
77 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
78 | 86 | | |
79 | 87 | | |
80 | 88 | | |
| |||
90 | 98 | | |
91 | 99 | | |
92 | 100 | | |
93 | | - | |
94 | | - | |
| 101 | + | |
| 102 | + | |
95 | 103 | | |
96 | 104 | | |
97 | 105 | | |
| |||
104 | 112 | | |
105 | 113 | | |
106 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
107 | 124 | | |
108 | 125 | | |
109 | 126 | | |
| |||
127 | 144 | | |
128 | 145 | | |
129 | 146 | | |
| 147 | + | |
130 | 148 | | |
131 | 149 | | |
132 | 150 | | |
| |||
205 | 223 | | |
206 | 224 | | |
207 | 225 | | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
208 | 233 | | |
209 | 234 | | |
210 | 235 | | |
| |||
221 | 246 | | |
222 | 247 | | |
223 | 248 | | |
224 | | - | |
| 249 | + | |
| 250 | + | |
225 | 251 | | |
226 | 252 | | |
227 | 253 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| |||
100 | 102 | | |
101 | 103 | | |
102 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
103 | 200 | | |
104 | 201 | | |
105 | 202 | | |
| |||
0 commit comments