Lines Matching defs:workqueue

237 struct workqueue {  struct
238 thread_call_t wq_delayed_call;
239 thread_call_t wq_immediate_call;
240 thread_call_t wq_death_call;
242 union {
247 lck_ticket_t wq_lock;
249 uint64_t wq_thread_call_last_run;
250 struct os_refcnt wq_refcnt;
251 workq_state_flags_t _Atomic wq_flags;
252 uint32_t wq_fulfilled;
253 uint32_t wq_creations;
254 uint32_t wq_timer_interval;
255 uint32_t wq_event_manager_priority;
256 uint32_t wq_reqcount; /* number of elements on the wq_*_reqlists */
257 uint16_t wq_thdying_count;
258 uint16_t wq_threads_scheduled;
259 uint16_t wq_constrained_threads_scheduled;
260 uint16_t wq_nthreads;
261 uint16_t wq_thidlecount;
262 uint16_t wq_thscheduled_count[WORKQ_NUM_BUCKETS]; // incl. manager
264 workq_threadreq_t wq_event_manager_threadreq;
266 _Atomic wq_thactive_t wq_thactive;
267 _Atomic uint64_t wq_lastblocked_ts[WORKQ_NUM_QOS_BUCKETS];
269 struct proc *wq_proc;
270 struct uthread *wq_creator;
271 turnstile_inheritor_t wq_inheritor;
272 thread_t wq_turnstile_updater; // thread doing a turnstile_update_ineritor
273 struct workq_uthread_head wq_thrunlist;
274 struct workq_uthread_head wq_thnewlist;
275 struct workq_uthread_head wq_thidlelist;
277 struct priority_queue_sched_max wq_overcommit_queue;
278 struct priority_queue_sched_max wq_constrained_queue;
279 struct priority_queue_sched_max wq_special_queue;
282 uint8_t wq_cooperative_queue_scheduled_count[WORKQ_NUM_QOS_BUCKETS];
283 …nt16_t wq_cooperative_queue_best_req_qos: 3, /* UN means no request, returns BG for BG/MT bucket */
284 …q_cooperative_queue_has_limited_max_size:1, /* if set, max size of cooperative pool per QoS is 1 */
285 wq_exceeded_active_constrained_thread_limit:1,
286 unused:11;
287 struct workq_threadreq_tailq wq_cooperative_queue[WORKQ_NUM_QOS_BUCKETS];