Commit e8506b1
authored
CP-311165 XSI-1958 rely on Linux guest to announce control features (#6864)
We want to rely on a Linux guest kernel to announce supported control
features like suspend. In the unlikely case that a guest Linux kernel
does not support this, provide a flag to re-enable previous behavior:
the toolstack assumes a set of supported features. Linux kernel 3.0 and
above announce features.
The flag is false by default, as such introducing the new behaviour.
This closes a window for a data race that caused XSI-1958: the toolstack
announced control features before the Linux guest kernel was ready and
announced them a moment later. A request coming in before the kernel was
ready caused the request to be missed by the kernel.
Previous behavior and timing is below: observe that dom0 announces the
features before domain 7. Some details are omitted.
2026-01-27T10:22:04 dt034 oxd: DOM0 write /l/d/7/control/feature-suspend
1
2026-01-27T10:22:04 dt034 oxd: DOM0 write
/l/d/7/control/feature-poweroff 1
2026-01-27T10:22:04 dt034 oxd: DOM0 write /l/d/7/control/feature-reboot
1
2026-01-27T10:22:04 dt034 oxd: DOM0 write
/l/d/7/control/feature-vcpu-hotplug 1
2026-01-27T10:22:06 dt034 oxd: DOM7 write control/feature-poweroff 1
2026-01-27T10:22:06 dt034 oxd: DOM7 write control/feature-reboot 1
2026-01-27T10:22:06 dt034 oxd: DOM7 write control/feature-suspend 1
2026-01-27T10:22:10 dt034 oxd: DOM7 write control/feature-balloon 13 files changed
+28
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| 84 | + | |
| 85 | + | |
84 | 86 | | |
85 | 87 | | |
86 | 88 | | |
| |||
324 | 326 | | |
325 | 327 | | |
326 | 328 | | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
327 | 336 | | |
328 | 337 | | |
329 | 338 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2980 | 2980 | | |
2981 | 2981 | | |
2982 | 2982 | | |
| 2983 | + | |
| 2984 | + | |
| 2985 | + | |
| 2986 | + | |
| 2987 | + | |
| 2988 | + | |
| 2989 | + | |
| 2990 | + | |
| 2991 | + | |
| 2992 | + | |
2983 | 2993 | | |
2984 | 2994 | | |
2985 | 2995 | | |
| |||
2992 | 3002 | | |
2993 | 3003 | | |
2994 | 3004 | | |
2995 | | - | |
2996 | | - | |
2997 | | - | |
| 3005 | + | |
2998 | 3006 | | |
2999 | 3007 | | |
3000 | 3008 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
0 commit comments