The latest development version of this page may be more current than this released 1.14.1 version.
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:10Kconfig.zephyr:35drivers/Kconfig:26

Menu path: (top menu) → Device Drivers → Timer Drivers

config QEMU_TICKLESS_WORKAROUND
    bool
    prompt "Disable tickless on qemu due to asynchrony bug" if QEMU_TARGET && TICKLESS_KERNEL
    depends on QEMU_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.)