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 definition

At kernel/Kconfig:59

Included via Kconfig:10Kconfig.zephyr:36

Menu path: (Top) → General Kernel Options → Multi-threading

config NUM_PREEMPT_PRIORITIES
    int "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.

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