Lines Matching defs:thread
298 struct thread { struct
302 uint64_t thread_magic; argument
320 struct mpsc_queue_chain mpsc_links; /* thread daemon mpsc links */ argument
326 waitq_t waitq; /* wait queue this thread is enqueued on */ argument
327 struct turnstile *turnstile; /* thread's turnstile, protected by primitives interlock */ argument
328 void *inheritor; /* inheritor of the primitive the thread will block on */ argument
342 * level (clutch_bucket defines a unique thread group and scheduling bucket pair). The argument
356 decl_simple_lock_data(, wake_lock); /* for thread stop / wait (wake_lock()) */ argument
357 uint16_t options; /* options set by thread itself */ argument
372 bool at_safe_point; /* thread_abort_safely allowed */ argument
382 * may be examined by this thread argument
384 thread_rr_state_t t_rr_state; /* state for restartable ranges */ argument
385 thread_continue_t continuation; /* continue here next dispatch */ argument
388 /* Data updated/used in thread_invoke */ argument
393 struct machine_thread machine; argument
396 struct kasan_thread_data kasan_data; argument
399 kcov_thread_data_t kcov_data; argument
423 /* This thread's contribution to global sched counters */ argument
430 #define TH_SFLAG_NO_SMT 0x0001 /* On an SMT CPU, this thread must be sched… argument
477 int16_t promotion_priority; /* priority thread is currently promoted to */ argument
479 int16_t suspend_count; /* Kernel holds on this thread */ argument
484 uint32_t rwlock_count; /* Number of lck_rw_t locks held by thread */ argument
486 rw_lock_debug_t rw_lock_held; /* rw_locks currently held by the thread */ argument
496 struct { /* see mach/thread_policy.h */ argument
505 uint64_t last_run_time; /* time when thread was switched away from */ argument
506 …uint64_t last_made_runnable_time; /* time when thread was unblocked or preem… argument
507 …uint64_t last_basepri_change_time; /* time when thread was last changed in ba… argument
510 * workq_quantum_deadline is the workq thread's next runtime deadline. This argument
538 #define WORKQ_QUANTUM_HISTORY_WRITE_ENTRY(thread, ...) ({\ argument
546 #define WORKQ_QUANTUM_HISTORY_WRITE_ENTRY(thread, ...) argument
552 struct thread_group *thread_group; argument
562 processor_t chosen_processor; /* Where we want to run this thread */ argument
570 void (*sched_call)(int type, thread_t thread); argument
573 uint32_t runqueue_generation; /* last time runqueue was drained */
597 …timer_data_t runnable_timer; /* time the thread is runnable (including running)… argument
599 struct recount_thread th_recount; /* resource accounting */ argument
603 uint64_t wait_sfi_begin_time; /* start time for thread waiting in SFI */ argument
610 queue_chain_t affinity_threads; argument
617 …/* Various bits of state to stash across a continuation, exclusive to the current thread block poi… argument
618 union {
649 /* Only user threads can cause guard exceptions, only kernel threads can be thread call threads */ argument
651 /* Thread call thread's state structure, stored on its stack */ argument
671 /* Pending thread ast(s) */ argument
677 queue_chain_t threads; /* global list of all threads */ argument
680 queue_chain_t task_threads; argument
686 struct thread_ro *t_tro; argument
688 thread_t handoff_thread; argument
698 ipc_active:1, /* IPC with the thread ports is allowed */ argument
702 policy_reset:1, /* Disallow policy parameter changes on terminating threads */ argument
703 suspend_parked:1, /* thread parked in thread_suspended */ argument
704 corpse_dup:1, /* TRUE when thread is an inactive duplicate in a corpse */ argument
712 uint16_t t_dtrace_flags; /* DTrace thread states */ argument
715 uint32_t t_dtrace_predcache; /* DTrace per thread predicate value hint */ argument
739 #define T_KPERF_AST_CALLSTACK 0x1 /* dump a callstack on thread's next AST */ argument
749 uint32_t kperf_pet_gen; /* last generation of PET that sampled this thread*/ argument
751 uint32_t kperf_pet_cnt; /* how many times a thread has been sampled by PET */ argument
760 /* hypervisor virtual CPU object associated with this thread */ argument
761 void *hv_thread_target; argument
768 ledger_t t_threadledger; /* per thread ledger */ argument
773 uint64_t thread_id; /* system wide unique thread-id */ argument
774 uint32_t ctid; /* system wide compact thread-id */ argument
775 uint32_t ctsid; /* this thread ts ID */ argument
778 struct thread_requested_policy requested_policy; argument
779 struct thread_effective_policy effective_policy; argument
782 struct thread_qos_override { argument
795 io_stat_info_t thread_io_stats; /* per-thread I/O statistics */ argument
797 uint32_t thread_callout_interrupt_wakeups; argument
798 uint32_t thread_callout_platform_idle_wakeups; argument
799 uint32_t thread_timer_wakeups_bin_1; argument
800 uint32_t thread_timer_wakeups_bin_2; argument
801 thread_tag_t thread_tag; argument
811 callout_woke_thread:1, argument
813 thread_bitfield_unused:12; argument
820 /* The preadopt thread group is set on the thread argument
842 struct thread_group *preadopt_thread_group; argument
862 struct thread_group *old_preadopt_thread_group; argument
870 struct thread_group *bank_thread_group; argument
876 /* This is a borrowed reference to the auto join thread group from the argument
889 thread_work_interval_flags_t th_work_interval_flags; argument
895 uintptr_t thread_wakeup_bt[64]; argument
900 …uint32_t decompressions; /* Per-thread decompressions counter to be added to per-t… argument
901 …int thread_region_page_shift; /* Page shift that this thread would like to use… argument
905 void *decmp_upl;
907 struct knote *ith_knote; /* knote fired for rcv */
943 #define assert_thread_magic(thread) assertf((thread)->thread_magic == THREAD_MAGIC, \ argument
947 #define assert_thread_magic(thread) do { (void)(thread); } while (0) argument
1026 #define thread_should_halt_fast(thread) (!(thread)->active) argument
1169 #define thread_mtx_try(thread) lck_mtx_try_lock(&(thread)->mutex) argument
1170 #define thread_mtx_held(thread) lck_mtx_assert(&(thread)->mutex, LCK_MTX_ASSERT_OWN… argument
1244 thread_set_tag_internal(thread_t thread, thread_tag_t tag) in thread_set_tag_internal()
1250 thread_get_tag_internal(thread_t thread) in thread_get_tag_internal()
1629 thread_t thread; member