Lines Matching defs:thread
248 struct thread { struct
252 uint64_t thread_magic; argument
270 struct mpsc_queue_chain mpsc_links; /* thread daemon mpsc links */ argument
276 waitq_t waitq; /* wait queue this thread is enqueued on */ argument
277 struct turnstile *turnstile; /* thread's turnstile, protected by primitives interlock */ argument
278 void *inheritor; /* inheritor of the primitive the thread will block on */ argument
292 * level (clutch_bucket defines a unique thread group and scheduling bucket pair). The argument
306 decl_simple_lock_data(, wake_lock); /* for thread stop / wait (wake_lock()) */ argument
307 uint16_t options; /* options set by thread itself */ argument
322 bool at_safe_point; /* thread_abort_safely allowed */ argument
330 * may be examined by this thread argument
332 thread_continue_t continuation; /* continue here next dispatch */ argument
335 /* Data updated/used in thread_invoke */ argument
340 struct machine_thread machine; argument
343 struct kasan_thread_data kasan_data; argument
346 kcov_thread_data_t kcov_data; argument
370 /* This thread's contribution to global sched counters */ argument
377 #define TH_SFLAG_NO_SMT 0x0001 /* On an SMT CPU, this thread must be sched… argument
421 int16_t promotion_priority; /* priority thread is currently promoted to */ argument
423 int16_t suspend_count; /* Kernel holds on this thread */ argument
428 uint32_t rwlock_count; /* Number of lck_rw_t locks held by thread */ argument
430 rw_lock_debug_t rw_lock_held; /* rw_locks currently held by the thread */ argument
440 struct { /* see mach/thread_policy.h */ argument
449 uint64_t last_run_time; /* time when thread was switched away from */ argument
450 …uint64_t last_made_runnable_time; /* time when thread was unblocked or preem… argument
451 …uint64_t last_basepri_change_time; /* time when thread was last changed in ba… argument
454 * workq_quantum_deadline is the workq thread's next runtime deadline. This argument
482 #define WORKQ_QUANTUM_HISTORY_WRITE_ENTRY(thread, ...) ({\ argument
490 #define WORKQ_QUANTUM_HISTORY_WRITE_ENTRY(thread, ...) argument
496 struct thread_group *thread_group; argument
507 processor_t chosen_processor; /* Where we want to run this thread */ argument
515 void (*sched_call)(int type, thread_t thread); argument
536 int precise_user_kernel_time; /* precise user/kernel enabled for this thread */ argument
546 …timer_data_t runnable_timer; /* time the thread is runnable (including running)… argument
550 uint64_t wait_sfi_begin_time; /* start time for thread waiting in SFI */ argument
557 queue_chain_t affinity_threads; argument
564 …/* Various bits of state to stash across a continuation, exclusive to the current thread block poi… argument
580 uint32_t ppri; /* received message pthread_priority_t */ argument
599 /* Only user threads can cause guard exceptions, only kernel threads can be thread call threads */ argument
601 /* Thread call thread's state structure, stored on its stack */ argument
621 /* Pending thread ast(s) */ argument
627 queue_chain_t threads; /* global list of all threads */ argument
630 queue_chain_t task_threads; argument
636 struct thread_ro *t_tro; argument
638 thread_t handoff_thread; argument
648 ipc_active:1, /* IPC with the thread ports is allowed */ argument
652 policy_reset:1, /* Disallow policy parameter changes on terminating threads */ argument
653 suspend_parked:1, /* thread parked in thread_suspended */ argument
654 corpse_dup:1, /* TRUE when thread is an inactive duplicate in a corpse */ argument
662 uint16_t t_dtrace_flags; /* DTrace thread states */ argument
665 uint32_t t_dtrace_predcache; /* DTrace per thread predicate value hint */ argument
689 #define T_KPERF_AST_CALLSTACK 0x1 /* dump a callstack on thread's next AST */ argument
699 uint32_t kperf_pet_gen; /* last generation of PET that sampled this thread*/ argument
701 uint32_t kperf_pet_cnt; /* how many times a thread has been sampled by PET */ argument
710 /* hypervisor virtual CPU object associated with this thread */ argument
711 void *hv_thread_target; argument
718 ledger_t t_threadledger; /* per thread ledger */ argument
723 uint64_t thread_id; /*system wide unique thread-id*/ argument
726 struct mt_thread t_monotonic; argument
730 struct thread_requested_policy requested_policy; argument
731 struct thread_effective_policy effective_policy; argument
734 struct thread_qos_override { argument
747 io_stat_info_t thread_io_stats; /* per-thread I/O statistics */ argument
749 uint32_t thread_callout_interrupt_wakeups; argument
750 uint32_t thread_callout_platform_idle_wakeups; argument
751 uint32_t thread_timer_wakeups_bin_1; argument
752 uint32_t thread_timer_wakeups_bin_2; argument
753 thread_tag_t thread_tag; argument
763 callout_woke_thread:1, argument
765 thread_bitfield_unused:12; argument
772 /* The preadopt thread group is set on the thread argument
794 struct thread_group *preadopt_thread_group; argument
814 struct thread_group *old_preadopt_thread_group; argument
822 struct thread_group *bank_thread_group; argument
828 /* This is a borrowed reference to the auto join thread group from the argument
841 thread_work_interval_flags_t th_work_interval_flags; argument
847 uintptr_t thread_wakeup_bt[64]; argument
852 …uint32_t decompressions; /* Per-thread decompressions counter to be added to per-t… argument
853 …int thread_region_page_shift; /* Page shift that this thread would like to use… argument
857 void *decmp_upl;
895 #define assert_thread_magic(thread) assertf((thread)->thread_magic == THREAD_MAGIC, \ argument
899 #define assert_thread_magic(thread) do { (void)(thread); } while (0) argument
973 #define thread_should_halt_fast(thread) (!(thread)->active) argument
1110 #define thread_mtx_try(thread) lck_mtx_try_lock(&(thread)->mutex) argument
1111 #define thread_mtx_held(thread) lck_mtx_assert(&(thread)->mutex, LCK_MTX_ASSERT_OWN… argument
1185 thread_set_tag_internal(thread_t thread, thread_tag_t tag) in thread_set_tag_internal()
1191 thread_get_tag_internal(thread_t thread) in thread_get_tag_internal()
1523 thread_t thread; member