Lines Matching refs:plh

1065 	struct port_label_hash *plh = &port_label_hash;  in stackshot_plh_est_size()  local
1072 return SIZE_EST(size * sizeof(*plh->plh_array)) + in stackshot_plh_est_size()
1073 SIZE_EST(size * sizeof(*plh->plh_chains)) + in stackshot_plh_est_size()
1074 SIZE_EST(size * sizeof(*plh->plh_gen)) + in stackshot_plh_est_size()
1075 SIZE_EST((1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh->plh_hash)); in stackshot_plh_est_size()
1088 struct port_label_hash plh = { in stackshot_plh_setup() local
1096 size_t size = plh.plh_size; in stackshot_plh_setup()
1100 plh.plh_array = kcdata_endalloc(data, size * sizeof(*plh.plh_array)); in stackshot_plh_setup()
1101 plh.plh_chains = kcdata_endalloc(data, size * sizeof(*plh.plh_chains)); in stackshot_plh_setup()
1102 plh.plh_gen = kcdata_endalloc(data, size * sizeof(*plh.plh_gen)); in stackshot_plh_setup()
1103 plh.plh_hash = kcdata_endalloc(data, (1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh.plh_hash)); in stackshot_plh_setup()
1104 …if (plh.plh_array == NULL || plh.plh_chains == NULL || plh.plh_gen == NULL || plh.plh_hash == NULL… in stackshot_plh_setup()
1109 plh.plh_array[x] = NULL; in stackshot_plh_setup()
1110 plh.plh_chains[x] = -1; in stackshot_plh_setup()
1111 plh.plh_gen[x] = 0; in stackshot_plh_setup()
1114 plh.plh_hash[x] = -1; in stackshot_plh_setup()
1116 port_label_hash = plh; /* structure assignment */ in stackshot_plh_setup()
1144 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_resetgen() local
1145 if (plh->plh_curgen_min == STACKSHOT_PLH_SIZE_MAX && plh->plh_curgen_max == 0) { in stackshot_plh_resetgen()
1148 plh->plh_curgen++; in stackshot_plh_resetgen()
1149 plh->plh_curgen_min = STACKSHOT_PLH_SIZE_MAX; in stackshot_plh_resetgen()
1150 plh->plh_curgen_max = 0; in stackshot_plh_resetgen()
1151 if (plh->plh_curgen == 0) { // wrapped, zero the array and increment the generation in stackshot_plh_resetgen()
1152 for (int x = 0; x < plh->plh_size; x++) { in stackshot_plh_resetgen()
1153 plh->plh_gen[x] = 0; in stackshot_plh_resetgen()
1155 plh->plh_curgen = 1; in stackshot_plh_resetgen()
1162 struct port_label_hash *plh = &port_label_hash; in stackshot_plh_lookup() local
1170 PLH_STAT_OP(plh->plh_lookup_send++); in stackshot_plh_lookup()
1173 PLH_STAT_OP(plh->plh_lookup_receive++); in stackshot_plh_lookup()
1178 PLH_STAT_OP(plh->plh_lookups++); in stackshot_plh_lookup()
1179 if (plh->plh_size == 0) { in stackshot_plh_lookup()
1185 for (cur = plh->plh_hash[hash]; cur >= 0; cur = plh->plh_chains[cur]) { in stackshot_plh_lookup()
1187 if (cur >= plh->plh_count || depth > plh->plh_count || depth > plh->plh_size) { in stackshot_plh_lookup()
1188 PLH_STAT_OP((plh->plh_bad++), (plh->plh_bad_depth += depth)); in stackshot_plh_lookup()
1191 assert(cur < plh->plh_count); in stackshot_plh_lookup()
1192 if (plh->plh_array[cur] == ispl) { in stackshot_plh_lookup()
1193 PLH_STAT_OP((plh->plh_found++), (plh->plh_found_depth += depth)); in stackshot_plh_lookup()
1200 PLH_STAT_OP((plh->plh_bad++), (plh->plh_bad_depth += depth)); in stackshot_plh_lookup()
1203 PLH_STAT_OP((plh->plh_insert++), (plh->plh_insert_depth += depth)); in stackshot_plh_lookup()
1204 if (plh->plh_count >= plh->plh_size) { in stackshot_plh_lookup()
1207 cur = plh->plh_count; in stackshot_plh_lookup()
1208 plh->plh_count++; in stackshot_plh_lookup()
1209 plh->plh_array[cur] = ispl; in stackshot_plh_lookup()
1210 plh->plh_chains[cur] = plh->plh_hash[hash]; in stackshot_plh_lookup()
1211 plh->plh_hash[hash] = cur; in stackshot_plh_lookup()
1213 plh->plh_gen[cur] = plh->plh_curgen; in stackshot_plh_lookup()
1214 if (plh->plh_curgen_min > cur) { in stackshot_plh_lookup()
1215 plh->plh_curgen_min = cur; in stackshot_plh_lookup()
1217 if (plh->plh_curgen_max < cur) { in stackshot_plh_lookup()
1218 plh->plh_curgen_max = cur; in stackshot_plh_lookup()
1228 struct port_label_hash *plh = &port_label_hash; in kdp_stackshot_plh_record() local
1229 uint16_t count = plh->plh_count; in kdp_stackshot_plh_record()
1230 uint8_t curgen = plh->plh_curgen; in kdp_stackshot_plh_record()
1231 int16_t curgen_min = plh->plh_curgen_min; in kdp_stackshot_plh_record()
1232 int16_t curgen_max = plh->plh_curgen_max; in kdp_stackshot_plh_record()
1234 count <= plh->plh_size && plh->plh_size <= STACKSHOT_PLH_SIZE_MAX) { in kdp_stackshot_plh_record()
1235 struct ipc_service_port_label **arr = plh->plh_array; in kdp_stackshot_plh_record()
1245 if (plh->plh_gen[idx] != curgen) { in kdp_stackshot_plh_record()
1273 struct port_label_hash *plh = &port_label_hash; in kdp_stackshot_plh_stats() local
1275 #define PLH_STAT(x) do { if (plh->x != 0) { \ in kdp_stackshot_plh_stats()
1276 …kcd_exit_on_error(kcdata_add_uint32_with_description(stackshot_kcdata_p, plh->x, "stackshot_" #x))… in kdp_stackshot_plh_stats()