:orphan: .. title:: CONFIG_SWAP_NONATOMIC .. kconfig:: CONFIG_SWAP_NONATOMIC CONFIG_SWAP_NONATOMIC ##################### *(No prompt -- not directly user assignable.)* Type: ``bool`` Help ==== .. code-block:: none On some architectures, the _Swap() primitive cannot be made atomic with respect to the irq_lock being released. That is, interrupts may be received between the entry to _Swap and the completion of the context switch. There are a handful of workaround cases in the kernel that need to be enabled when this is true. Currently, this only happens on ARM when the PendSV exception priority sits below that of Zephyr-handled interrupts. Defaults ======== No defaults. Implicitly defaults to ``n``. Symbols that select this symbol =============================== - \ :kconfig:`CPU_CORTEX_M ` Kconfig definition ================== At ``/Kconfig:542`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:40`` Menu path: (Top) → General Kernel Options .. code-block:: kconfig config SWAP_NONATOMIC bool help On some architectures, the _Swap() primitive cannot be made atomic with respect to the irq_lock being released. That is, interrupts may be received between the entry to _Swap and the completion of the context switch. There are a handful of workaround cases in the kernel that need to be enabled when this is true. Currently, this only happens on ARM when the PendSV exception priority sits below that of Zephyr-handled interrupts. *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*