-
CONFIG_QEMU_TICKLESS_WORKAROUND
¶
Disable tickless on qemu due to asynchrony bug
Type: bool
Help¶
Qemu (without -icount) has trouble keeping time when the host process needs to timeshare. The host OS will routinely schedule out a process at timescales equivalent to the guest tick rate. With traditional ticks delivered regularly by the hardware, that’s mostly OK as it looks like a late interrupt. But in tickless mode, the driver needs some CPU in order to schedule the tick in the first place. If that gets delayed across a tick boundary, time gets wonky. This tunable is a hint to the driver to disable tickless accounting on qemu. Use it only on tests that are known to have problems.
Direct dependencies¶
QEMU_TARGET
&& TICKLESS_KERNEL
(Includes any dependencies from if’s and menus.)
Defaults¶
No defaults. Implicitly defaults to n
.
Kconfig definition¶
At drivers/timer/Kconfig:212
Included via Kconfig:10
→ Kconfig.zephyr:35
→ drivers/Kconfig:26
Menu path: (top menu) → Device Drivers → Timer Drivers
config QEMU_TICKLESS_WORKAROUND bool prompt "Disable tickless on qemu due to asynchrony bug" ifQEMU_TARGET
&&TICKLESS_KERNEL
depends onQEMU_TARGET
&&TICKLESS_KERNEL
help Qemu (without -icount) has trouble keeping time when the host process needs to timeshare. The host OS will routinely schedule out a process at timescales equivalent to the guest tick rate. With traditional ticks delivered regularly by the hardware, that's mostly OK as it looks like a late interrupt. But in tickless mode, the driver needs some CPU in order to schedule the tick in the first place. If that gets delayed across a tick boundary, time gets wonky. This tunable is a hint to the driver to disable tickless accounting on qemu. Use it only on tests that are known to have problems.
(Definitions include propagated dependencies, including from if’s and menus.)