Lines Matching refs:prof_tdata

17 malloc_tsd_data(, prof_tdata, prof_tdata_t *, NULL)
145 prof_enter(prof_tdata_t *prof_tdata)
150 assert(prof_tdata->enq == false);
151 prof_tdata->enq = true;
157 prof_leave(prof_tdata_t *prof_tdata)
165 assert(prof_tdata->enq);
166 prof_tdata->enq = false;
167 idump = prof_tdata->enq_idump;
168 prof_tdata->enq_idump = false;
169 gdump = prof_tdata->enq_gdump;
170 prof_tdata->enq_gdump = false;
437 prof_tdata_t *prof_tdata;
441 prof_tdata = prof_tdata_get(false);
442 if ((uintptr_t)prof_tdata <= (uintptr_t)PROF_TDATA_STATE_MAX)
445 if (ckh_search(&prof_tdata->bt2cnt, bt, NULL, &ret.v)) {
460 prof_enter(prof_tdata);
465 prof_leave(prof_tdata);
470 prof_leave(prof_tdata);
485 prof_leave(prof_tdata);
501 prof_leave(prof_tdata);
504 if (ckh_count(&prof_tdata->bt2cnt) == PROF_TCMAX) {
505 assert(ckh_count(&prof_tdata->bt2cnt) > 0);
510 ret.p = ql_last(&prof_tdata->lru_ql, lru_link);
512 if (ckh_remove(&prof_tdata->bt2cnt, ret.p->ctx->bt,
515 ql_remove(&prof_tdata->lru_ql, ret.p, lru_link);
519 assert(ckh_count(&prof_tdata->bt2cnt) < PROF_TCMAX);
534 if (ckh_insert(&prof_tdata->bt2cnt, btkey.v, ret.v)) {
540 ql_head_insert(&prof_tdata->lru_ql, ret.p, lru_link);
547 ql_remove(&prof_tdata->lru_ql, ret.p, lru_link);
548 ql_head_insert(&prof_tdata->lru_ql, ret.p, lru_link);
676 prof_tdata_t *prof_tdata;
687 prof_tdata = prof_tdata_get(false);
688 assert((uintptr_t)prof_tdata > (uintptr_t)PROF_TDATA_STATE_MAX);
689 prof_enter(prof_tdata);
699 prof_leave(prof_tdata);
711 prof_leave(prof_tdata);
832 prof_tdata_t *prof_tdata;
847 prof_tdata = prof_tdata_get(false);
848 if ((uintptr_t)prof_tdata <= (uintptr_t)PROF_TDATA_STATE_MAX)
850 prof_enter(prof_tdata);
901 prof_leave(prof_tdata);
916 prof_leave(prof_tdata);
962 prof_tdata_t *prof_tdata;
969 prof_tdata = prof_tdata_get(false);
970 if ((uintptr_t)prof_tdata <= (uintptr_t)PROF_TDATA_STATE_MAX)
972 if (prof_tdata->enq) {
973 prof_tdata->enq_idump = true;
1012 prof_tdata_t *prof_tdata;
1019 prof_tdata = prof_tdata_get(false);
1020 if ((uintptr_t)prof_tdata <= (uintptr_t)PROF_TDATA_STATE_MAX)
1022 if (prof_tdata->enq) {
1023 prof_tdata->enq_gdump = true;
1070 prof_tdata_t *prof_tdata;
1075 prof_tdata = (prof_tdata_t *)imalloc(sizeof(prof_tdata_t));
1076 if (prof_tdata == NULL)
1079 if (ckh_new(&prof_tdata->bt2cnt, PROF_CKH_MINITEMS,
1081 idalloc(prof_tdata);
1084 ql_new(&prof_tdata->lru_ql);
1086 prof_tdata->vec = imalloc(sizeof(void *) * PROF_BT_MAX);
1087 if (prof_tdata->vec == NULL) {
1088 ckh_delete(&prof_tdata->bt2cnt);
1089 idalloc(prof_tdata);
1093 prof_tdata->prng_state = 0;
1094 prof_tdata->threshold = 0;
1095 prof_tdata->accum = 0;
1097 prof_tdata->enq = false;
1098 prof_tdata->enq_idump = false;
1099 prof_tdata->enq_gdump = false;
1101 prof_tdata_tsd_set(&prof_tdata);
1103 return (prof_tdata);
1110 prof_tdata_t *prof_tdata = *(prof_tdata_t **)arg;
1114 if (prof_tdata == PROF_TDATA_STATE_REINCARNATED) {
1117 * was called. Reset prof_tdata to PROF_TDATA_STATE_PURGATORY
1120 prof_tdata = PROF_TDATA_STATE_PURGATORY;
1121 prof_tdata_tsd_set(&prof_tdata);
1122 } else if (prof_tdata == PROF_TDATA_STATE_PURGATORY) {
1126 * wouldn't cause re-creation of the prof_tdata. This time, do
1129 } else if (prof_tdata != NULL) {
1134 ckh_delete(&prof_tdata->bt2cnt);
1139 while ((cnt = ql_last(&prof_tdata->lru_ql, lru_link)) != NULL) {
1140 ql_remove(&prof_tdata->lru_ql, cnt, lru_link);
1144 idalloc(prof_tdata->vec);
1145 idalloc(prof_tdata);
1146 prof_tdata = PROF_TDATA_STATE_PURGATORY;
1147 prof_tdata_tsd_set(&prof_tdata);