Lines Matching defs:thread
364 struct thread { struct
368 uint64_t thread_magic; argument
388 struct mpsc_queue_chain mpsc_links; /* thread daemon mpsc links */ argument
394 waitq_t waitq; /* wait queue this thread is enqueued on */ argument
395 struct turnstile *turnstile; /* thread's turnstile, protected by primitives interlock */ argument
396 void *inheritor; /* inheritor of the primitive the thread will block on */ argument
410 * level (clutch_bucket defines a unique thread group and scheduling bucket pair). The argument
424 decl_simple_lock_data(, wake_lock); /* for thread stop / wait (wake_lock()) */ argument
425 uint16_t options; /* options set by thread itself */ argument
442 bool at_safe_point; /* thread_abort_safely allowed */ argument
452 * may be examined by this thread argument
454 thread_rr_state_t t_rr_state; /* state for restartable ranges */ argument
455 thread_continue_t continuation; /* continue here next dispatch */ argument
458 /* Data updated/used in thread_invoke */ argument
463 struct machine_thread machine; argument
466 struct kasan_thread_data kasan_data; argument
469 kcov_thread_data_t kcov_data; argument
494 /* This thread's contribution to global sched counters */ argument
501 #define TH_SFLAG_NO_SMT 0x0001 /* On an SMT CPU, this thread must be sched… argument
548 int16_t promotion_priority; /* priority thread is currently promoted to */ argument
550 int16_t suspend_count; /* Kernel holds on this thread */ argument
555 uint32_t rwlock_count; /* Number of lck_rw_t locks held by thread */ argument
558 rw_lock_debug_t rw_lock_held; /* rw_locks currently held by the thread */ argument
568 struct { /* see mach/thread_policy.h */ argument
577 uint64_t last_run_time; /* time when thread was switched away from */ argument
578 …uint64_t last_made_runnable_time; /* time when thread was unblocked or preem… argument
579 …uint64_t last_basepri_change_time; /* time when thread was last changed in ba… argument
582 * workq_quantum_deadline is the workq thread's next runtime deadline. This argument
610 #define WORKQ_QUANTUM_HISTORY_WRITE_ENTRY(thread, ...) ({\ argument
618 #define WORKQ_QUANTUM_HISTORY_WRITE_ENTRY(thread, ...) argument
624 struct thread_group *thread_group; argument
634 processor_t chosen_processor; /* Where we want to run this thread */ argument
643 void (*sched_call)(int type, thread_t thread); argument
669 …timer_data_t runnable_timer; /* time the thread is runnable (including running)… argument
671 struct recount_thread th_recount; /* resource accounting */ argument
675 uint64_t wait_sfi_begin_time; /* start time for thread waiting in SFI */ argument
682 queue_chain_t affinity_threads; argument
689 …/* Various bits of state to stash across a continuation, exclusive to the current thread block poi… argument
704 struct ipc_kmsg *XNU_PTRAUTH_SIGNED_PTR("thread.ith_kmsg") kmsg; /* received message */ argument
723 /* Only user threads can cause guard exceptions, only kernel threads can be thread call threads */ argument
725 /* Thread call thread's state structure, stored on its stack */ argument
748 queue_chain_t threads; /* global list of all threads */ argument
751 queue_chain_t task_threads; argument
757 struct thread_ro *t_tro; argument
759 thread_t handoff_thread; argument
769 ipc_active:1, /* IPC with the thread ports is allowed */ argument
773 policy_reset:1, /* Disallow policy parameter changes on terminating threads */ argument
774 suspend_parked:1, /* thread parked in thread_suspended */ argument
775 corpse_dup:1, /* TRUE when thread is an inactive duplicate in a corpse */ argument
786 uint16_t t_dtrace_flags; /* DTrace thread states */ argument
789 uint32_t t_dtrace_predcache; /* DTrace per thread predicate value hint */ argument
790 int64_t t_dtrace_tracing; /* Thread time under dtrace_probe() */
791 int64_t t_dtrace_vtime;
816 #define T_KPERF_AST_CALLSTACK 0x1 /* dump a callstack on thread's next AST */ argument
826 uint32_t kperf_pet_gen; /* last generation of PET that sampled this thread*/ argument
828 uint32_t kperf_pet_cnt; /* how many times a thread has been sampled by PET */ argument
835 /* accumulated performance counters for this thread */ argument
840 /* hypervisor virtual CPU object associated with this thread */ argument
841 void *hv_thread_target; argument
848 ledger_t t_threadledger; /* per thread ledger */ argument
853 uint64_t thread_id; /* system wide unique thread-id */ argument
854 uint32_t ctid; /* system wide compact thread-id */ argument
855 uint32_t ctsid; /* this thread ts ID */ argument
858 struct thread_requested_policy requested_policy; argument
859 struct thread_effective_policy effective_policy; argument
862 struct thread_qos_override { argument
875 io_stat_info_t thread_io_stats; /* per-thread I/O statistics */ argument
877 uint32_t thread_callout_interrupt_wakeups; argument
878 uint32_t thread_callout_platform_idle_wakeups; argument
879 uint32_t thread_timer_wakeups_bin_1; argument
880 uint32_t thread_timer_wakeups_bin_2; argument
881 thread_tag_t thread_tag; argument
891 callout_woke_thread:1, argument
893 thread_bitfield_unused:12; argument
900 /* The preadopt thread group is set on the thread argument
922 struct thread_group *preadopt_thread_group; argument
942 struct thread_group *old_preadopt_thread_group; argument
950 struct thread_group *bank_thread_group; argument
956 /* This is a borrowed reference to the auto join thread group from the argument
969 thread_work_interval_flags_t th_work_interval_flags; argument
972 uintptr_t thread_wakeup_bt[64]; argument
977 …uint32_t decompressions; /* Per-thread decompressions counter to be added to per-t… argument
978 …int thread_region_page_shift; /* Page shift that this thread would like to use… argument
996 /* TXM thread stack associated with this thread */ argument
997 uintptr_t txm_thread_stack; argument
1006 * thread on itself. */ argument
1008 /* Thread exclaves interrupt-safe state. Only mutated by the current thread argument
1012 thread_exclaves_intstate_flags_t th_exclaves_intstate; argument
1016 thread_exclaves_state_flags_t th_exclaves_state; argument
1020 thread_exclaves_inspection_flags_t _Atomic th_exclaves_inspection_state; argument
1025 /* Queue of threads being inspected by Stackshot. argument
1028 /* Queue of threads being inspected by kperf. argument
1030 queue_chain_t th_exclaves_inspection_queue_kperf;
1069 #define assert_thread_magic(thread) assertf((thread)->thread_magic == THREAD_MAGIC, \ argument
1073 #define assert_thread_magic(thread) do { (void)(thread); } while (0) argument
1157 #define thread_should_halt_fast(thread) (!(thread)->active) argument
1304 #define thread_mtx_try(thread) lck_mtx_try_lock(&(thread)->mutex) argument
1305 #define thread_mtx_held(thread) lck_mtx_assert(&(thread)->mutex, LCK_MTX_ASSERT_OWN… argument
1383 thread_set_tag_internal(thread_t thread, thread_tag_t tag) in thread_set_tag_internal()
1389 thread_get_tag_internal(thread_t thread) in thread_get_tag_internal()
1772 thread_t thread; member