Lines Matching defs:_kthread

117 typedef struct _kthread {  struct
118 struct _kthread *t_link; /* dispq, sleepq, and free queue link */ argument
120 caddr_t t_stk; /* base of stack (kernel sp value to use) */
121 void (*t_startpc)(void); /* PC where thread started */
122 struct cpu *t_bound_cpu; /* cpu bound to, or NULL if not bound */
123 short t_affinitycnt; /* nesting level of kernel affinity-setting */
124 short t_bind_cpu; /* user-specified CPU binding (-1 if none) */
125 uint_t t_flag; /* modified only by current thread */
126 ushort_t t_proc_flag; /* modified holding ttproc(t)->p_lock */
127 ushort_t t_schedflag; /* modified holding thread_lock(t) */
128 volatile char t_preempt; /* don't preempt thread if set */
129 volatile char t_preempt_lk;
130 uint_t t_state; /* thread state (protected by thread_lock) */
131 pri_t t_pri; /* assigned thread priority */
132 pri_t t_epri; /* inherited thread priority */
133 pri_t t_cpri; /* thread scheduling class priority */
134 char t_writer; /* sleeping in lwp_rwlock_lock(RW_WRITE_LOCK) */
158 struct _kthread *t_intr; /* interrupted (pinned) thread */ argument
174 struct _kthread *t_forw; /* process's forward thread link */ argument
175 struct _kthread *t_back; /* process's backward thread link */ argument
176 struct _kthread *t_thlink; /* tid (lwpid) lookup hash link */ argument
180 struct _kthread *t_next; /* doubly linked list of all threads */ argument
181 struct _kthread *t_prev; argument
182 ushort_t t_whystop; /* reason for stopping */
183 ushort_t t_whatstop; /* more detailed reason */
184 int t_dslot; /* index in proc's thread directory */
185 struct pollstate *t_pollstate; /* state used during poll(2) */
186 struct pollcache *t_pollcache; /* to pass a pcache ptr by /dev/poll */
187 struct cred *t_cred; /* pointer to current cred */
188 time_t t_start; /* start time, seconds since epoch */
189 clock_t t_lbolt; /* lbolt at last clock_tick() */
190 hrtime_t t_stoptime; /* timestamp at stop() */
191 uint_t t_pctcpu; /* %cpu at last clock_tick(), binary */
193 short t_sysnum; /* system call number */
194 kcondvar_t t_delay_cv;
195 kmutex_t t_delay_lock;
202 disp_lock_t *t_lockp; /* pointer to the dispatcher lock */
203 ushort_t t_oldspl; /* spl level before dispatcher locked */
204 volatile char t_pre_sys; /* pre-syscall work needed */
205 lock_t t_lock_flush; /* for lock_mutex_flush() impl */
206 struct _disp *t_disp_queue; /* run queue for chosen CPU */
207 clock_t t_disp_time; /* last time this thread was running */
224 union __tu {
232 } _tu;
243 hrtime_t t_waitrq; /* timestamp for run queue wait time */
244 int t_mstate; /* current microstate */
245 struct rprof {
248 } *t_rprof;
256 struct turnstile *t_prioinv;
263 struct turnstile *t_ts;
269 struct tsd_thread {
293 struct _kthread *t_priforw; /* sleepq per-priority sublist */ argument
294 struct _kthread *t_priback; argument
296 struct sleepq *t_sleepq; /* sleep queue thread is waiting on */
297 struct panic_trap_info *t_panic_trap; /* saved data from fatal trap */
298 int *t_lgrp_affinity; /* lgroup affinity */
299 struct upimutex *t_upimutex; /* list of upimutexes owned by thread */
300 uint32_t t_nupinest; /* number of nested held upi mutexes */
301 struct kproject *t_proj; /* project containing this thread */
302 uint8_t t_unpark; /* modified holding t_delay_lock */
303 uint8_t t_release; /* lwp_release() waked up the thread */
304 uint8_t t_hatdepth; /* depth of recursive hat_memloads */
305 uint8_t t_xpvcntr; /* see xen_block_migrate() */
306 kcondvar_t t_joincv; /* cv used to wait for thread exit */
307 void *t_taskq; /* for threads belonging to taskq */
308 hrtime_t t_anttime; /* most recent time anticipatory load */
311 char *t_pdmsg; /* privilege debugging message */
313 uint_t t_predcache; /* DTrace predicate cache */
314 hrtime_t t_dtrace_vtime; /* DTrace virtual time */
315 hrtime_t t_dtrace_start; /* DTrace slice start time */
317 uint8_t t_dtrace_stop; /* indicates a DTrace-desired stop */
318 uint8_t t_dtrace_sig; /* signal sent via DTrace's raise() */
320 union __tdu {
331 } _tdu;
341 uintptr_t t_dtrace_pc; /* DTrace saved pc from fasttrap */
342 uintptr_t t_dtrace_npc; /* DTrace next pc from fasttrap */
343 uintptr_t t_dtrace_scrpc; /* DTrace per-thread scratch location */
344 uintptr_t t_dtrace_astpc; /* DTrace return sequence location */
346 uint64_t t_dtrace_regv; /* DTrace saved reg from fasttrap */
347 uint64_t t_useracc; /* SMAP state saved across swtch() */
349 hrtime_t t_hrtime; /* high-res last time on cpu */
350 kmutex_t t_ctx_lock; /* protects t_ctx in removectx() */
351 struct waitq *t_waitq; /* wait queue */
352 kmutex_t t_wait_mutex; /* used in CV wait functions */
354 char *t_name; /* thread name */
356 uint64_t t_unsafe; /* unsafe to run with SMT VCPU thread */