Lines Matching refs:plh
1058 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_est_size() local
1065 return SIZE_EST(size * sizeof(*plh->plh_array)) + in stackshot_plh_est_size()
1066 SIZE_EST(size * sizeof(*plh->plh_chains)) + in stackshot_plh_est_size()
1067 SIZE_EST(size * sizeof(*plh->plh_gen)) + in stackshot_plh_est_size()
1068 SIZE_EST((1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh->plh_hash)); in stackshot_plh_est_size()
1081 struct port_label_hash plh = { in stackshot_plh_setup() local
1089 size_t size = plh.plh_size; in stackshot_plh_setup()
1093 plh.plh_array = kcdata_endalloc(data, size * sizeof(*plh.plh_array)); in stackshot_plh_setup()
1094 plh.plh_chains = kcdata_endalloc(data, size * sizeof(*plh.plh_chains)); in stackshot_plh_setup()
1095 plh.plh_gen = kcdata_endalloc(data, size * sizeof(*plh.plh_gen)); in stackshot_plh_setup()
1096 plh.plh_hash = kcdata_endalloc(data, (1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh.plh_hash)); in stackshot_plh_setup()
1097 …if (plh.plh_array == NULL || plh.plh_chains == NULL || plh.plh_gen == NULL || plh.plh_hash == NULL… in stackshot_plh_setup()
1102 plh.plh_array[x] = NULL; in stackshot_plh_setup()
1103 plh.plh_chains[x] = -1; in stackshot_plh_setup()
1104 plh.plh_gen[x] = 0; in stackshot_plh_setup()
1107 plh.plh_hash[x] = -1; in stackshot_plh_setup()
1109 port_label_hash = plh; /* structure assignment */ in stackshot_plh_setup()
1137 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_resetgen() local
1138 if (plh->plh_curgen_min == STACKSHOT_PLH_SIZE_MAX && plh->plh_curgen_max == 0) { in stackshot_plh_resetgen()
1141 plh->plh_curgen++; in stackshot_plh_resetgen()
1142 plh->plh_curgen_min = STACKSHOT_PLH_SIZE_MAX; in stackshot_plh_resetgen()
1143 plh->plh_curgen_max = 0; in stackshot_plh_resetgen()
1144 if (plh->plh_curgen == 0) { // wrapped, zero the array and increment the generation in stackshot_plh_resetgen()
1145 for (int x = 0; x < plh->plh_size; x++) { in stackshot_plh_resetgen()
1146 plh->plh_gen[x] = 0; in stackshot_plh_resetgen()
1148 plh->plh_curgen = 1; in stackshot_plh_resetgen()
1155 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_lookup() local
1163 PLH_STAT_OP(plh->plh_lookup_send++); in stackshot_plh_lookup()
1166 PLH_STAT_OP(plh->plh_lookup_receive++); in stackshot_plh_lookup()
1171 PLH_STAT_OP(plh->plh_lookups++); in stackshot_plh_lookup()
1172 if (plh->plh_size == 0) { in stackshot_plh_lookup()
1178 for (cur = plh->plh_hash[hash]; cur >= 0; cur = plh->plh_chains[cur]) { in stackshot_plh_lookup()
1180 if (cur >= plh->plh_count || depth > plh->plh_count || depth > plh->plh_size) { in stackshot_plh_lookup()
1181 PLH_STAT_OP((plh->plh_bad++), (plh->plh_bad_depth += depth)); in stackshot_plh_lookup()
1184 assert(cur < plh->plh_count); in stackshot_plh_lookup()
1185 if (plh->plh_array[cur] == ispl) { in stackshot_plh_lookup()
1186 PLH_STAT_OP((plh->plh_found++), (plh->plh_found_depth += depth)); in stackshot_plh_lookup()
1193 PLH_STAT_OP((plh->plh_bad++), (plh->plh_bad_depth += depth)); in stackshot_plh_lookup()
1196 PLH_STAT_OP((plh->plh_insert++), (plh->plh_insert_depth += depth)); in stackshot_plh_lookup()
1197 if (plh->plh_count >= plh->plh_size) { in stackshot_plh_lookup()
1200 cur = plh->plh_count; in stackshot_plh_lookup()
1201 plh->plh_count++; in stackshot_plh_lookup()
1202 plh->plh_array[cur] = ispl; in stackshot_plh_lookup()
1203 plh->plh_chains[cur] = plh->plh_hash[hash]; in stackshot_plh_lookup()
1204 plh->plh_hash[hash] = cur; in stackshot_plh_lookup()
1206 plh->plh_gen[cur] = plh->plh_curgen; in stackshot_plh_lookup()
1207 if (plh->plh_curgen_min > cur) { in stackshot_plh_lookup()
1208 plh->plh_curgen_min = cur; in stackshot_plh_lookup()
1210 if (plh->plh_curgen_max < cur) { in stackshot_plh_lookup()
1211 plh->plh_curgen_max = cur; in stackshot_plh_lookup()
1221 struct port_label_hash *plh = &port_label_hash; in kdp_stackshot_plh_record() local
1222 uint16_t count = plh->plh_count; in kdp_stackshot_plh_record()
1223 uint8_t curgen = plh->plh_curgen; in kdp_stackshot_plh_record()
1224 int16_t curgen_min = plh->plh_curgen_min; in kdp_stackshot_plh_record()
1225 int16_t curgen_max = plh->plh_curgen_max; in kdp_stackshot_plh_record()
1227 count <= plh->plh_size && plh->plh_size <= STACKSHOT_PLH_SIZE_MAX) { in kdp_stackshot_plh_record()
1228 struct ipc_service_port_label **arr = plh->plh_array; in kdp_stackshot_plh_record()
1238 if (plh->plh_gen[idx] != curgen) { in kdp_stackshot_plh_record()
1266 struct port_label_hash *plh = &port_label_hash; in kdp_stackshot_plh_stats() local
1268 #define PLH_STAT(x) do { if (plh->x != 0) { \ in kdp_stackshot_plh_stats()
1269 …kcd_exit_on_error(kcdata_add_uint32_with_description(stackshot_kcdata_p, plh->x, "stackshot_" #x))… in kdp_stackshot_plh_stats()