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 <Zephyr>/kernel/Kconfig:55

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

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 ifs and menus.)