enum scheduler_mode

Description

This enumeration describes the possible modes of a scheduler.

Declared at: libs/pika/threading_base/include/pika/threading_base/scheduler_mode.hpp:13

Enumerators

NameValueComment
nothing_special0As the name suggests, this option can be used to disable all other options.
do_background_work1The scheduler will periodically call a provided callback function from a special pika thread to enable performing background-work, for instance driving networking progress or garbage-collect AGAS.
reduce_thread_priority2The kernel priority of the os-thread driving the scheduler will be reduced below normal.
delay_exit4The scheduler will wait for some unspecified amount of time before exiting the scheduling loop while being terminated to make sure no other work is being scheduled during processing the shutdown request.
fast_idle_mode8Some schedulers have the capability to act as 'embedded' schedulers. In this case it needs to periodically invoke a provided callback into the outer scheduler more frequently than normal. This option enables this behavior.
enable_elasticity16This option allows for the scheduler to dynamically increase and reduce the number of processing units it runs on. Setting this value not succeed for schedulers that do not support this functionality.
enable_stealing32This option allows schedulers that support work thread/stealing to enable/disable it
enable_stealing_numa64This option allows schedulersthat support it to disallow stealing between numa domains
assign_work_round_robin128This option tells schedulersthat support it to add tasks round robin to queues on each core
assign_work_thread_parent256This option tells schedulers that support it to add tasks round to the same core/queue that the parent task is running on
steal_high_priority_first512This option tells schedulers that support it to always (try to) steal high priority tasks from other queues before finishing their own lower priority tasks
steal_after_local1024This option tells schedulers that support it to steal tasks only when their local queues are empty
enable_idle_backoff2048This option allows for certain schedulers to explicitly disable exponential idle-back off
default_mode3303This option represents the default mode.
all_flags4095This enables all available options.