Lines Matching defs:_kthread

110 typedef struct _kthread {  struct
111 struct _kthread *t_link; /* dispq, sleepq, and free queue link */ argument
113 caddr_t t_stk; /* base of stack (kernel sp value to use) */
114 void (*t_startpc)(void); /* PC where thread started */
115 struct cpu *t_bound_cpu; /* cpu bound to, or NULL if not bound */
116 short t_affinitycnt; /* nesting level of kernel affinity-setting */
117 short t_bind_cpu; /* user-specified CPU binding (-1 if none) */
118 ushort_t t_flag; /* modified only by current thread */
119 ushort_t t_proc_flag; /* modified holding ttproc(t)->p_lock */
120 ushort_t t_schedflag; /* modified holding thread_lock(t) */
121 volatile char t_preempt; /* don't preempt thread if set */
122 volatile char t_preempt_lk;
123 uint_t t_state; /* thread state (protected by thread_lock) */
124 pri_t t_pri; /* assigned thread priority */
125 pri_t t_epri; /* inherited thread priority */
126 pri_t t_cpri; /* thread scheduling class priority */
127 char t_writer; /* sleeping in lwp_rwlock_lock(RW_WRITE_LOCK) */
151 struct _kthread *t_intr; /* interrupted (pinned) thread */ argument
168 struct _kthread *t_forw; /* process's forward thread link */ argument
169 struct _kthread *t_back; /* process's backward thread link */ argument
170 struct _kthread *t_thlink; /* tid (lwpid) lookup hash link */ argument
174 struct _kthread *t_next; /* doubly linked list of all threads */ argument
175 struct _kthread *t_prev; argument
176 ushort_t t_whystop; /* reason for stopping */
177 ushort_t t_whatstop; /* more detailed reason */
178 int t_dslot; /* index in proc's thread directory */
179 struct pollstate *t_pollstate; /* state used during poll(2) */
180 struct pollcache *t_pollcache; /* to pass a pcache ptr by /dev/poll */
181 struct cred *t_cred; /* pointer to current cred */
182 time_t t_start; /* start time, seconds since epoch */
183 clock_t t_lbolt; /* lbolt at last clock_tick() */
184 hrtime_t t_stoptime; /* timestamp at stop() */
185 uint_t t_pctcpu; /* %cpu at last clock_tick(), binary */
187 short t_sysnum; /* system call number */
188 kcondvar_t t_delay_cv;
189 kmutex_t t_delay_lock;
196 disp_lock_t *t_lockp; /* pointer to the dispatcher lock */
197 ushort_t t_oldspl; /* spl level before dispatcher locked */
198 volatile char t_pre_sys; /* pre-syscall work needed */
199 lock_t t_lock_flush; /* for lock_mutex_flush() impl */
200 struct _disp *t_disp_queue; /* run queue for chosen CPU */
201 clock_t t_disp_time; /* last time this thread was running */
202 uint_t t_kpri_req; /* kernel priority required */
219 union __tu {
227 } _tu;
238 hrtime_t t_waitrq; /* timestamp for run queue wait time */
239 int t_mstate; /* current microstate */
240 struct rprof {
243 } *t_rprof;
251 struct turnstile *t_prioinv;
258 struct turnstile *t_ts;
264 struct tsd_thread {
288 struct _kthread *t_priforw; /* sleepq per-priority sublist */ argument
289 struct _kthread *t_priback; argument
291 struct sleepq *t_sleepq; /* sleep queue thread is waiting on */
292 struct panic_trap_info *t_panic_trap; /* saved data from fatal trap */
293 int *t_lgrp_affinity; /* lgroup affinity */
294 struct upimutex *t_upimutex; /* list of upimutexes owned by thread */
295 uint32_t t_nupinest; /* number of nested held upi mutexes */
296 struct kproject *t_proj; /* project containing this thread */
297 uint8_t t_unpark; /* modified holding t_delay_lock */
298 uint8_t t_release; /* lwp_release() waked up the thread */
299 uint8_t t_hatdepth; /* depth of recursive hat_memloads */
300 uint8_t t_xpvcntr; /* see xen_block_migrate() */
301 kcondvar_t t_joincv; /* cv used to wait for thread exit */
302 void *t_taskq; /* for threads belonging to taskq */
303 hrtime_t t_anttime; /* most recent time anticipatory load */
306 char *t_pdmsg; /* privilege debugging message */
308 uint_t t_predcache; /* DTrace predicate cache */
309 hrtime_t t_dtrace_vtime; /* DTrace virtual time */
310 hrtime_t t_dtrace_start; /* DTrace slice start time */
312 uint8_t t_dtrace_stop; /* indicates a DTrace-desired stop */
313 uint8_t t_dtrace_sig; /* signal sent via DTrace's raise() */
315 union __tdu {
326 } _tdu;
336 uintptr_t t_dtrace_pc; /* DTrace saved pc from fasttrap */
337 uintptr_t t_dtrace_npc; /* DTrace next pc from fasttrap */
338 uintptr_t t_dtrace_scrpc; /* DTrace per-thread scratch location */
339 uintptr_t t_dtrace_astpc; /* DTrace return sequence location */
341 uint64_t t_dtrace_regv; /* DTrace saved reg from fasttrap */
343 hrtime_t t_hrtime; /* high-res last time on cpu */
344 kmutex_t t_ctx_lock; /* protects t_ctx in removectx() */
345 struct waitq *t_waitq; /* wait queue */
346 kmutex_t t_wait_mutex; /* used in CV wait functions */