Skip to content

Workqueues

Member TypeMember Name
void*arg1
void*arg2
Member TypeMember Name
size_ttimer
uint64_ttimestamp_ms
work_functioncallback
struct work_argsargs
struct deferred_event*next
Member TypeMember Name
work_functionfunc
struct work_argsargs
struct list_headlist_node
atomic_boolenqueued
atomic_boolactive
uint64_tseq
Member TypeMember Name
struct thread*thread
struct workqueue*workqueue
time_tlast_active
time_tinactivity_check_period
time_tstart_idle
booltimeout_ran
boolshould_exit
boolis_permanent
boolpresent
boolidle
enum worker_next_actionnext_action
struct list_headlist_node
Member TypeMember Name
enum worklist_statestate
struct list_headlist
time_tcreation_time
struct spinlocklock
enum worklist_flagsflags
refcount_trefcount
Member TypeMember Name
uint64_ttotal_tasks_added
uint64_ttotal_tasks_executed
uint64_ttotal_workers_spawned
uint64_ttotal_worker_exits
uint64_tmax_queue_length
uint64_tcurrent_queue_length
uint64_ttotal_spawn_attempts
uint64_ttotal_spawn_failures
uint64_tnum_idle_workers
uint64_tnum_active_workers
Member TypeMember Name
size_tmin_workers
size_tmax_workers
size_tcapacity
time_tspawn_delay
nice_tworker_niceness
struct { uint64_t min; uint64_t max; }idle_check
enum workqueue_flagsflags
struct cpu_maskworker_cpu_mask
Member TypeMember Name
char*name
atomic_boolignore_timeouts
struct spinlockwork_lock
struct spinlockworker_lock
struct spinlockworker_array_lock
struct spinlocklock
struct condvarqueue_cv
struct work*oneshot_works
struct list_headworkers
struct list_headworks
struct worker*worker_array
uint64_thead
uint64_ttail
atomic_boolspawn_pending
uint32_tnum_tasks
uint32_tnum_workers
uint32_tidle_workers
core_tcore
time_tlast_spawn_attempt
atomic_flagspawner_flag_internal
struct workqueue_attributesattrs
enum workqueue_statestate
struct thread_request*request
refcount_trefcount
NameValue
WORKER_NEXT_ACTION_RUNNone
WORKER_NEXT_ACTION_EXITNone
NameValue
WORKLIST_STATE_EMPTY0
WORKLIST_STATE_READY1
WORKLIST_STATE_RUNNING2
WORKLIST_STATE_DESTROYING3
WORKLIST_STATE_DEAD4
NameValue
WORKLIST_FLAG_UNBOUND1
NameValue
WORKQUEUE_FLAG_PERMANENT1 << 1
WORKQUEUE_FLAG_AUTO_SPAWN1 << 2
WORKQUEUE_FLAG_UNMIGRATABLE_WORKERS1 << 3
WORKQUEUE_FLAG_NAMED1 << 4
WORKQUEUE_FLAG_SPAWN_VIA_REQUEST1 << 5
WORKQUEUE_FLAG_STATIC_WORKERS1 << 6
WORKQUEUE_FLAG_NO_WORKER_GC1 << 7
WORKQUEUE_FLAG_NO_AUTO_SPAWN0
WORKQUEUE_FLAG_MIGRATABLE_WORKERS0
WORKQUEUE_FLAG_ON_DEMAND0
WORKQUEUE_FLAG_NAMELESS0
WORKQUEUE_FLAG_SPAWN_NORMALLY0
WORKQUEUE_FLAG_NON_STATIC_WORKERS0
WORKQUEUE_FLAG_WORKER_GC0
WORKQUEUE_FLAG_DEFAULTS`WORKQUEUE_FLAG_AUTO_SPAWN
NameValue
WORKQUEUE_STATE_DEADNone
WORKQUEUE_STATE_DESTROYINGNone
WORKQUEUE_STATE_ACTIVENone
NameValue
WORKQUEUE_ERROR_NEED_NEW_WORKER4
WORKQUEUE_ERROR_NEED_NEW_WQ3
WORKQUEUE_ERROR_OK0
WORKQUEUE_ERROR_FULL-1
WORKQUEUE_ERROR_WLIST_EXECUTING-2
WORKQUEUE_ERROR_UNUSABLE-3
WORKQUEUE_ERROR_WORK_EXECUTING-4

(*work_function) : void (void *arg, void *arg2)