:orphan: .. title:: USE_SWITCH .. option:: CONFIG_USE_SWITCH *Use new-style _arch_switch instead of arch_swap* Type: ``bool`` Help ==== The _arch_switch() API is a lower level context switching primitive than the original arch_swap mechanism. It is required for an SMP-aware scheduler, or if the architecture does not provide arch_swap. In uniprocess situations where the architecture provides both, _arch_switch incurs more somewhat overhead and may be slower. Direct dependencies =================== \ :option:`USE_SWITCH_SUPPORTED ` *(Includes any dependencies from ifs and menus.)* Defaults ======== No defaults. Implicitly defaults to ``n``. Symbols that select this symbol =============================== - \ :option:`CPU_ARCV2 ` - \ :option:`CPU_CORTEX_A ` - \ :option:`X86_64 ` - \ :option:`SPARC ` - \ :option:`XTENSA ` Kconfig definition ================== .. highlight:: kconfig At ``kernel/Kconfig:762`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:30`` Menu path: (Top) → General Kernel Options → SMP Options .. parsed-literal:: config USE_SWITCH bool "Use new-style _arch_switch instead of arch_swap" depends on \ :option:`USE_SWITCH_SUPPORTED ` help The _arch_switch() API is a lower level context switching primitive than the original arch_swap mechanism. It is required for an SMP-aware scheduler, or if the architecture does not provide arch_swap. In uniprocess situations where the architecture provides both, _arch_switch incurs more somewhat overhead and may be slower. *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*