CONFIG_SCHED_CPU_MASK_PIN_ONLY

CPU mask variant with single-CPU pinning only

Type: bool

Help

When true, enables a variant of SCHED_CPU_MASK where only
one CPU may be specified for every thread.  Effectively, all
threads have a single "assigned" CPU and they will never be
scheduled symmetrically.  In general this is not helpful,
but some applications have a carefully designed threading
architecture and want to make their own decisions about how
to assign work to CPUs.  In that circumstance, some moderate
optimizations can be made (e.g. having a separate run queue
per CPU, keeping the list length shorter).  Most
applications don't want this.

Direct dependencies

SMP && SCHED_CPU_MASK

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Kconfig definition

At <Zephyr>/kernel/Kconfig:139

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:40

Menu path: (Top) → General Kernel Options → Enable CPU mask affinity/pinning API

config SCHED_CPU_MASK_PIN_ONLY
    bool "CPU mask variant with single-CPU pinning only"
    depends on SMP && SCHED_CPU_MASK
    help
      When true, enables a variant of SCHED_CPU_MASK where only
      one CPU may be specified for every thread.  Effectively, all
      threads have a single "assigned" CPU and they will never be
      scheduled symmetrically.  In general this is not helpful,
      but some applications have a carefully designed threading
      architecture and want to make their own decisions about how
      to assign work to CPUs.  In that circumstance, some moderate
      optimizations can be made (e.g. having a separate run queue
      per CPU, keeping the list length shorter).  Most
      applications don't want this.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)