CONFIG_NUM_PREEMPT_PRIORITIES

Number of preemptible priorities

Type: int

Help

Number of preemptible priorities available in the system. Gives access to priorities 0 to CONFIG_NUM_PREEMPT_PRIORITIES - 1.

This can be set to 0 to disable preemptible scheduling.

Each priority requires an extra 8 bytes of RAM. Each set of 32 extra total priorities require an extra 4 bytes and add one possible iteration to loops that search for the next thread to run.

The total number of priorities is

NUM_COOP_PRIORITIES + NUM_PREEMPT_PRIORITIES + 1

The extra one is for the idle thread, which must run at the lowest priority, and be the only thread at that priority.

Defaults

Kconfig definitions

At kernel/Kconfig:54

Included via Kconfig:10Kconfig.zephyr:25

Menu path: (top menu) → General Kernel Options

config NUM_PREEMPT_PRIORITIES
    int
    prompt "Number of preemptible priorities" if MULTITHREADING
    range 0 128
    default 0 if !MULTITHREADING
    default 15
    help
      Number of preemptible priorities available in the system. Gives access
      to priorities 0 to CONFIG_NUM_PREEMPT_PRIORITIES - 1.

      This can be set to 0 to disable preemptible scheduling.

      Each priority requires an extra 8 bytes of RAM. Each set of 32 extra
      total priorities require an extra 4 bytes and add one possible
      iteration to loops that search for the next thread to run.

      The total number of priorities is

       NUM_COOP_PRIORITIES + NUM_PREEMPT_PRIORITIES + 1

      The extra one is for the idle thread, which must run at the lowest
      priority, and be the only thread at that priority.

At lib/cmsis_rtos_v1/Kconfig:67

Included via Kconfig:10Kconfig.zephyr:33lib/Kconfig:31

Menu path: (top menu) → Additional libraries

config NUM_PREEMPT_PRIORITIES
    int
    default 7 if CMSIS_RTOS_V1
    depends on CMSIS_RTOS_V1

(Definitions include propagated dependencies, including from if’s and menus.)