/titanic_50/usr/src/lib/libc/port/threads/ |
H A D | thr.c | 177 hash_in_unlocked(ulwp_t *ulwp, int ix, uberdata_t *udp) in hash_in_unlocked() argument 179 ulwp->ul_hash = udp->thr_hash_table[ix].hash_bucket; in hash_in_unlocked() 180 udp->thr_hash_table[ix].hash_bucket = ulwp; in hash_in_unlocked() 181 ulwp->ul_ix = ix; in hash_in_unlocked() 185 hash_in(ulwp_t *ulwp, uberdata_t *udp) in hash_in() argument 187 int ix = TIDHASH(ulwp->ul_lwpid, udp); in hash_in() 191 hash_in_unlocked(ulwp, ix, udp); in hash_in() 199 hash_out_unlocked(ulwp_t *ulwp, int ix, uberdata_t *udp) in hash_out_unlocked() argument 204 ulwp != *ulwpp; in hash_out_unlocked() 207 *ulwpp = ulwp->ul_hash; in hash_out_unlocked() [all …]
|
H A D | pthread.c | 51 ulwp_t *ulwp; in _thr_setparam() local 55 if ((ulwp = find_lwp(tid)) == NULL) { in _thr_setparam() 58 if (policy == ulwp->ul_policy && in _thr_setparam() 60 ulwp->ul_epri != 0) { in _thr_setparam() 65 if (prio > ulwp->ul_epri) in _thr_setparam() 68 ulwp->ul_pri = prio; in _thr_setparam() 73 ulwp->ul_rtclassid = cid; in _thr_setparam() 74 ulwp->ul_cid = cid; in _thr_setparam() 75 ulwp->ul_pri = prio; in _thr_setparam() 77 ulwp->ul_policy = policy; in _thr_setparam() [all …]
|
H A D | synch.c | 508 ulwp_t *ulwp; in QVERIFY() local 529 for (prev = NULL, ulwp = qrp->qr_head; ulwp != NULL; in QVERIFY() 530 prev = ulwp, ulwp = ulwp->ul_link) { in QVERIFY() 532 if (ulwp->ul_writer) in QVERIFY() 534 ASSERT(ulwp->ul_qtype == qtype); in QVERIFY() 535 ASSERT(ulwp->ul_wchan != NULL); in QVERIFY() 536 ASSERT(ulwp->ul_sleepq == qp); in QVERIFY() 537 wchan = ulwp->ul_wchan; in QVERIFY() 608 #define CMP_PRIO(ulwp) ((real_priority(ulwp) << 1) + (ulwp)->ul_writer) argument 611 enqueue(queue_head_t *qp, ulwp_t *ulwp, int force_fifo) in enqueue() argument [all …]
|
H A D | cancel.c | 40 ulwp_t *ulwp; in pthread_cancel() local 43 if ((ulwp = find_lwp(tid)) == NULL) in pthread_cancel() 46 if (ulwp->ul_cancel_pending) { in pthread_cancel() 50 ulwp_unlock(ulwp, udp); in pthread_cancel() 51 } else if (ulwp == self) { in pthread_cancel() 63 } else if (ulwp->ul_cancel_disabled) { in pthread_cancel() 71 ulwp->ul_cancel_pending = 1; in pthread_cancel() 72 ulwp_unlock(ulwp, udp); in pthread_cancel() 78 ulwp_unlock(ulwp, udp); in pthread_cancel()
|
H A D | sema.c | 137 ulwp_t *ulwp; in sema_wait_impl() local 168 if ((ulwp = dequeue(qp, &more)) != NULL) { in sema_wait_impl() 170 lwpid = ulwp->ul_lwpid; in sema_wait_impl() 255 ulwp_t *ulwp; in sema_trywait() local 263 if ((ulwp = dequeue(qp, &more)) != NULL) { in sema_trywait() 265 lwpid = ulwp->ul_lwpid; in sema_trywait() 322 ulwp_t *ulwp; in sema_post() local 330 if ((ulwp = dequeue(qp, &more)) != NULL) { in sema_post() 332 lwpid = ulwp->ul_lwpid; in sema_post()
|
H A D | rwlock.c | 120 rwl_free(ulwp_t *ulwp) in rwl_free() argument 124 if ((nlocks = ulwp->ul_rdlockcnt) != 0) in rwl_free() 125 lfree(ulwp->ul_readlock.array, nlocks * sizeof (readlock_t)); in rwl_free() 126 ulwp->ul_rdlockcnt = 0; in rwl_free() 127 ulwp->ul_readlock.single.rd_rwlock = NULL; in rwl_free() 128 ulwp->ul_readlock.single.rd_count = 0; in rwl_free() 380 ulwp_t *ulwp; in rw_queue_release() local 437 ulwp = *ulwpp; in rw_queue_release() 438 ASSERT(ulwp->ul_wchan == rwlp); in rw_queue_release() 439 if (ulwp->ul_writer) { in rw_queue_release() [all …]
|
H A D | tls.c | 433 tls_free(ulwp_t *ulwp) in tls_free() argument 441 if ((tlsent = ulwp->ul_tlsent) == NULL || in tls_free() 442 (ntlsent = ulwp->ul_ntlsent) == 0) in tls_free() 452 lfree(ulwp->ul_tlsent, ntlsent * sizeof (tls_t)); in tls_free() 453 ulwp->ul_tlsent = NULL; in tls_free() 454 ulwp->ul_ntlsent = 0; in tls_free()
|
H A D | tsd.c | 444 tsd_free(ulwp_t *ulwp) in tsd_free() argument 450 if ((stsd = ulwp->ul_stsd) != NULL) in tsd_free() 452 ulwp->ul_stsd = NULL; in tsd_free()
|
/titanic_50/usr/src/cmd/mdb/common/modules/libc/ |
H A D | libc.c | 447 ulwp_t ulwp; in d_ulwp() local 452 if (mdb_vread(&ulwp, sizeof (ulwp), addr) != sizeof (ulwp) && in d_ulwp() 453 (bzero(&ulwp, sizeof (ulwp)), in d_ulwp() 454 mdb_vread(&ulwp, REPLACEMENT_SIZE, addr)) != REPLACEMENT_SIZE) { in d_ulwp() 464 prt_addr(ulwp.ul_self, 1), in d_ulwp() 465 prt_addr(ulwp.ul_uberdata, 0)); in d_ulwp() 470 prt_addr(ulwp.ul_tlsent, 1), in d_ulwp() 471 ulwp.ul_ntlsent); in d_ulwp() 476 prt_addr(ulwp.ul_forw, 1), in d_ulwp() 477 prt_addr(ulwp.ul_back, 1), in d_ulwp() [all …]
|
H A D | findstack_subr.c | 185 stacks_ulwp_walk(uintptr_t addr, ulwp_t *ulwp, void *ignored) in stacks_ulwp_walk() argument 189 sulwp->sulwp_id = ulwp->ul_lwpid; in stacks_ulwp_walk() 193 mdb_warn("found multiple LWPs with ID %d!", ulwp->ul_lwpid); in stacks_ulwp_walk() 226 ulwp_t ulwp; in stacks_findstack() local 255 if (mdb_vread(&ulwp, sizeof (ulwp), sulwp->sulwp_addr) == -1) { in stacks_findstack() 261 fsip->fsi_tstate = ulwp.ul_sleepq != NULL; in stacks_findstack() 262 fsip->fsi_sobj_ops = (uintptr_t)(ulwp.ul_sleepq == NULL ? NULL : in stacks_findstack() 263 (ulwp.ul_qtype == MX ? STACKS_SOBJ_MX : STACKS_SOBJ_CV)); in stacks_findstack()
|
/titanic_50/usr/src/lib/libc/sparc/threads/ |
H A D | machdep.c | 38 setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp) in setup_top_frame() argument 64 ulwp_t *ulwp, caddr_t stk, size_t stksize) in setup_context() argument 75 if ((stack = (uintptr_t)setup_top_frame(stk, stksize, ulwp)) == NULL) in setup_context() 82 ucp->uc_mcontext.gregs[REG_O0] = (greg_t)ulwp; in setup_context() 85 ucp->uc_mcontext.gregs[REG_G7] = (greg_t)ulwp; in setup_context() 118 _fpinherit(ulwp_t *ulwp) in _fpinherit() argument 132 _getfsr(&ulwp->ul_fpuenv.fsr); in _fpinherit() 133 ulwp->ul_fpuenv.fpu_en = 1; in _fpinherit() 135 ulwp->ul_fpuenv.fpu_en = 0; in _fpinherit() 140 getgregs(ulwp_t *ulwp, gregset_t rs) in getgregs() argument [all …]
|
/titanic_50/usr/src/lib/libc_db/common/ |
H A D | thread_db.c | 1012 ulwp_t ulwp; in __td_ta_thr_iter() local 1015 &ulwp, sizeof (ulwp)) != PS_OK && in __td_ta_thr_iter() 1016 ((void) memset(&ulwp, 0, sizeof (ulwp)), in __td_ta_thr_iter() 1018 &ulwp, REPLACEMENT_SIZE)) != PS_OK) { in __td_ta_thr_iter() 1022 next_lwp_addr = (psaddr_t)ulwp.ul_forw; in __td_ta_thr_iter() 1024 ts_state = ulwp.ul_dead? TD_THR_ZOMBIE : in __td_ta_thr_iter() 1025 ulwp.ul_stop? TD_THR_STOPPED : in __td_ta_thr_iter() 1026 ulwp.ul_wchan? TD_THR_SLEEP : in __td_ta_thr_iter() 1028 userpri = ulwp.ul_pri; in __td_ta_thr_iter() 1029 userflags = ulwp.ul_usropts; in __td_ta_thr_iter() [all …]
|
/titanic_50/usr/src/lib/libc/amd64/threads/ |
H A D | machdep.c | 37 setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp) in setup_top_frame() argument 69 ulwp_t *ulwp, caddr_t stk, size_t stksize) in setup_context() argument 77 ucp->uc_mcontext.gregs[REG_FSBASE] = (greg_t)ulwp; in setup_context() 87 if ((stack = setup_top_frame(stk, stksize, ulwp)) == NULL) in setup_context() 92 ucp->uc_mcontext.gregs[REG_RDI] = (greg_t)ulwp; in setup_context() 123 _fpinherit(ulwp_t *ulwp) in _fpinherit() argument 125 ulwp->ul_fpuenv.ftag = 0xffffffff; in _fpinherit() 129 getgregs(ulwp_t *ulwp, gregset_t rs) in getgregs() argument 133 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { in getgregs() 155 setgregs(ulwp_t *ulwp, gregset_t rs) in setgregs() argument [all …]
|
/titanic_50/usr/src/lib/libc/i386/threads/ |
H A D | machdep.c | 49 setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp) in setup_top_frame() argument 80 frame.arg = (uint32_t)ulwp; in setup_top_frame() 89 ulwp_t *ulwp, caddr_t stk, size_t stksize) in setup_context() argument 126 ucp->uc_mcontext.gregs[ESP] = (greg_t)ulwp; in setup_context() 133 if ((stack = setup_top_frame(stk, stksize, ulwp)) == NULL) in setup_context() 168 _fpinherit(ulwp_t *ulwp) in _fpinherit() argument 170 ulwp->ul_fpuenv.ftag = 0xffffffff; in _fpinherit() 174 getgregs(ulwp_t *ulwp, gregset_t rs) in getgregs() argument 178 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { in getgregs() 196 setgregs(ulwp_t *ulwp, gregset_t rs) in setgregs() argument [all …]
|
/titanic_50/usr/src/lib/libc/inc/ |
H A D | thr_uberdata.h | 366 struct ulwp *qr_head; 367 struct ulwp *qr_tail; 443 extern void enqueue(queue_head_t *, struct ulwp *, int); 444 extern struct ulwp *dequeue(queue_head_t *, int *); 445 extern struct ulwp **queue_slot(queue_head_t *, struct ulwp **, int *); 446 extern struct ulwp *queue_waiter(queue_head_t *); 449 struct ulwp **, struct ulwp *); 538 typedef struct ulwp { struct 551 struct ulwp *ul_self; /* pointer to self */ argument 559 struct ulwp *ul_forw; /* forw, back all_lwps list, */ argument [all …]
|
H A D | tdb_agent.h | 266 #define __td_event_report(ulwp, event, udp) \ argument 267 (((ulwp)->ul_td_events_enable && \ 268 td_eventismember(&(ulwp)->ul_td_evbuf.eventmask, (event))) || \
|
/titanic_50/usr/src/cmd/mdb/common/modules/libumem/ |
H A D | libumem.c | 154 umastat_lwp_cache(uintptr_t addr, const umem_cache_t *cp, ulwp_t *ulwp) in umastat_lwp_cache() argument 166 &nbufs, (uintptr_t)ulwp->ul_self) == -1) { in umastat_lwp_cache() 171 mdb_printf("%3d ", ulwp->ul_tmem.tm_size ? in umastat_lwp_cache() 172 (nbufs * cp->cache_bufsize * 100) / ulwp->ul_tmem.tm_size : 0); in umastat_lwp_cache() 179 umastat_lwp(uintptr_t addr, const ulwp_t *ulwp, void *ignored) in umastat_lwp() argument 184 mdb_printf((dfp++)->fmt, ulwp->ul_lwpid); in umastat_lwp() 185 mdb_printf((dfp++)->fmt, ulwp->ul_tmem.tm_size); in umastat_lwp() 192 mdb_printf((dfp++)->fmt, (ulwp->ul_tmem.tm_size * 100) / size); in umastat_lwp() 195 (mdb_walk_cb_t)umastat_lwp_cache, (void *)ulwp) == -1) { in umastat_lwp()
|