Lines Matching refs:plh
1066 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_est_size() local
1073 return SIZE_EST(size * sizeof(*plh->plh_array)) + in stackshot_plh_est_size()
1074 SIZE_EST(size * sizeof(*plh->plh_chains)) + in stackshot_plh_est_size()
1075 SIZE_EST(size * sizeof(*plh->plh_gen)) + in stackshot_plh_est_size()
1076 SIZE_EST((1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh->plh_hash)); in stackshot_plh_est_size()
1089 struct port_label_hash plh = { in stackshot_plh_setup() local
1097 size_t size = plh.plh_size; in stackshot_plh_setup()
1101 plh.plh_array = kcdata_endalloc(data, size * sizeof(*plh.plh_array)); in stackshot_plh_setup()
1102 plh.plh_chains = kcdata_endalloc(data, size * sizeof(*plh.plh_chains)); in stackshot_plh_setup()
1103 plh.plh_gen = kcdata_endalloc(data, size * sizeof(*plh.plh_gen)); in stackshot_plh_setup()
1104 plh.plh_hash = kcdata_endalloc(data, (1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh.plh_hash)); in stackshot_plh_setup()
1105 …if (plh.plh_array == NULL || plh.plh_chains == NULL || plh.plh_gen == NULL || plh.plh_hash == NULL… in stackshot_plh_setup()
1110 plh.plh_array[x] = NULL; in stackshot_plh_setup()
1111 plh.plh_chains[x] = -1; in stackshot_plh_setup()
1112 plh.plh_gen[x] = 0; in stackshot_plh_setup()
1115 plh.plh_hash[x] = -1; in stackshot_plh_setup()
1117 port_label_hash = plh; /* structure assignment */ in stackshot_plh_setup()
1145 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_resetgen() local
1146 if (plh->plh_curgen_min == STACKSHOT_PLH_SIZE_MAX && plh->plh_curgen_max == 0) { in stackshot_plh_resetgen()
1149 plh->plh_curgen++; in stackshot_plh_resetgen()
1150 plh->plh_curgen_min = STACKSHOT_PLH_SIZE_MAX; in stackshot_plh_resetgen()
1151 plh->plh_curgen_max = 0; in stackshot_plh_resetgen()
1152 if (plh->plh_curgen == 0) { // wrapped, zero the array and increment the generation in stackshot_plh_resetgen()
1153 for (int x = 0; x < plh->plh_size; x++) { in stackshot_plh_resetgen()
1154 plh->plh_gen[x] = 0; in stackshot_plh_resetgen()
1156 plh->plh_curgen = 1; in stackshot_plh_resetgen()
1163 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_lookup() local
1171 PLH_STAT_OP(plh->plh_lookup_send++); in stackshot_plh_lookup()
1174 PLH_STAT_OP(plh->plh_lookup_receive++); in stackshot_plh_lookup()
1179 PLH_STAT_OP(plh->plh_lookups++); in stackshot_plh_lookup()
1180 if (plh->plh_size == 0) { in stackshot_plh_lookup()
1186 for (cur = plh->plh_hash[hash]; cur >= 0; cur = plh->plh_chains[cur]) { in stackshot_plh_lookup()
1188 if (cur >= plh->plh_count || depth > plh->plh_count || depth > plh->plh_size) { in stackshot_plh_lookup()
1189 PLH_STAT_OP((plh->plh_bad++), (plh->plh_bad_depth += depth)); in stackshot_plh_lookup()
1192 assert(cur < plh->plh_count); in stackshot_plh_lookup()
1193 if (plh->plh_array[cur] == ispl) { in stackshot_plh_lookup()
1194 PLH_STAT_OP((plh->plh_found++), (plh->plh_found_depth += depth)); in stackshot_plh_lookup()
1201 PLH_STAT_OP((plh->plh_bad++), (plh->plh_bad_depth += depth)); in stackshot_plh_lookup()
1204 PLH_STAT_OP((plh->plh_insert++), (plh->plh_insert_depth += depth)); in stackshot_plh_lookup()
1205 if (plh->plh_count >= plh->plh_size) { in stackshot_plh_lookup()
1208 cur = plh->plh_count; in stackshot_plh_lookup()
1209 plh->plh_count++; in stackshot_plh_lookup()
1210 plh->plh_array[cur] = ispl; in stackshot_plh_lookup()
1211 plh->plh_chains[cur] = plh->plh_hash[hash]; in stackshot_plh_lookup()
1212 plh->plh_hash[hash] = cur; in stackshot_plh_lookup()
1214 plh->plh_gen[cur] = plh->plh_curgen; in stackshot_plh_lookup()
1215 if (plh->plh_curgen_min > cur) { in stackshot_plh_lookup()
1216 plh->plh_curgen_min = cur; in stackshot_plh_lookup()
1218 if (plh->plh_curgen_max < cur) { in stackshot_plh_lookup()
1219 plh->plh_curgen_max = cur; in stackshot_plh_lookup()
1229 struct port_label_hash *plh = &port_label_hash; in kdp_stackshot_plh_record() local
1230 uint16_t count = plh->plh_count; in kdp_stackshot_plh_record()
1231 uint8_t curgen = plh->plh_curgen; in kdp_stackshot_plh_record()
1232 int16_t curgen_min = plh->plh_curgen_min; in kdp_stackshot_plh_record()
1233 int16_t curgen_max = plh->plh_curgen_max; in kdp_stackshot_plh_record()
1235 count <= plh->plh_size && plh->plh_size <= STACKSHOT_PLH_SIZE_MAX) { in kdp_stackshot_plh_record()
1236 struct ipc_service_port_label **arr = plh->plh_array; in kdp_stackshot_plh_record()
1246 if (plh->plh_gen[idx] != curgen) { in kdp_stackshot_plh_record()
1274 struct port_label_hash *plh = &port_label_hash; in kdp_stackshot_plh_stats() local
1276 #define PLH_STAT(x) do { if (plh->x != 0) { \ in kdp_stackshot_plh_stats()
1277 …kcd_exit_on_error(kcdata_add_uint32_with_description(stackshot_kcdata_p, plh->x, "stackshot_" #x))… in kdp_stackshot_plh_stats()