Lines Matching refs:plh

251 #define plh_lock(plh) while(!os_atomic_cmpxchg(&(plh)->plh_lock, 0, 1, acquire)) { loop_wait(); }  argument
252 #define plh_unlock(plh) os_atomic_store(&(plh)->plh_lock, 0, release); argument
2882 struct port_label_hash *plh = &stackshot_ctx.sc_plh; in stackshot_plh_est_size() local
2889 return SIZE_EST(size * sizeof(*plh->plh_array)) + in stackshot_plh_est_size()
2890 SIZE_EST(size * sizeof(*plh->plh_chains)) + in stackshot_plh_est_size()
2892 SIZE_EST((1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh->plh_hash)); in stackshot_plh_est_size()
2908 struct port_label_hash plh = { in stackshot_plh_setup() local
2925 size = plh.plh_size; in stackshot_plh_setup()
2929 plh.plh_array = stackshot_alloc_with_size(size * sizeof(*plh.plh_array), &error); in stackshot_plh_setup()
2930 plh.plh_chains = stackshot_alloc_with_size(size * sizeof(*plh.plh_chains), &error); in stackshot_plh_setup()
2942plh.plh_hash = stackshot_alloc_with_size((1ul << STACKSHOT_PLH_SHIFT) * sizeof(*plh.plh_hash), &er… in stackshot_plh_setup()
2946 …if (plh.plh_array == NULL || plh.plh_chains == NULL || percpu_alloc_failed || plh.plh_hash == NULL… in stackshot_plh_setup()
2951 plh.plh_array[x] = NULL; in stackshot_plh_setup()
2952 plh.plh_chains[x] = -1; in stackshot_plh_setup()
2955 plh.plh_hash[x] = -1; in stackshot_plh_setup()
2957 stackshot_ctx.sc_plh = plh; /* structure assignment */ in stackshot_plh_setup()
3006 struct port_label_hash *plh = &stackshot_ctx.sc_plh; in stackshot_plh_lookup_locked() local
3014 PLH_STAT_OP(os_atomic_inc(&plh->plh_lookup_send, relaxed)); in stackshot_plh_lookup_locked()
3017 PLH_STAT_OP(os_atomic_inc(&plh->plh_lookup_receive, relaxed)); in stackshot_plh_lookup_locked()
3022 PLH_STAT_OP(os_atomic_inc(&plh->plh_lookups, relaxed)); in stackshot_plh_lookup_locked()
3023 if (plh->plh_size == 0) { in stackshot_plh_lookup_locked()
3029 for (cur = plh->plh_hash[hash]; cur >= 0; cur = plh->plh_chains[cur]) { in stackshot_plh_lookup_locked()
3031 if (cur >= plh->plh_count || depth > plh->plh_count || depth > plh->plh_size) { in stackshot_plh_lookup_locked()
3032 PLH_STAT_OP(os_atomic_inc(&plh->plh_bad, relaxed)); in stackshot_plh_lookup_locked()
3033 PLH_STAT_OP(os_atomic_add(&plh->plh_bad_depth, depth, relaxed)); in stackshot_plh_lookup_locked()
3036 assert(cur < plh->plh_count); in stackshot_plh_lookup_locked()
3037 if (plh->plh_array[cur] == ispl) { in stackshot_plh_lookup_locked()
3038 PLH_STAT_OP(os_atomic_inc(&plh->plh_found, relaxed)); in stackshot_plh_lookup_locked()
3039 PLH_STAT_OP(os_atomic_add(&plh->plh_found_depth, depth, relaxed)); in stackshot_plh_lookup_locked()
3046 PLH_STAT_OP(os_atomic_inc(&plh->plh_bad, relaxed)); in stackshot_plh_lookup_locked()
3047 PLH_STAT_OP(os_atomic_add(&plh->plh_bad_depth, depth, relaxed)); in stackshot_plh_lookup_locked()
3050 PLH_STAT_OP(os_atomic_inc(&plh->plh_insert, relaxed)); in stackshot_plh_lookup_locked()
3051 PLH_STAT_OP(os_atomic_add(&plh->plh_insert_depth, depth, relaxed)); in stackshot_plh_lookup_locked()
3052 if (plh->plh_count >= plh->plh_size) { in stackshot_plh_lookup_locked()
3055 cur = plh->plh_count; in stackshot_plh_lookup_locked()
3056 plh->plh_count++; in stackshot_plh_lookup_locked()
3057 plh->plh_array[cur] = ispl; in stackshot_plh_lookup_locked()
3058 plh->plh_chains[cur] = plh->plh_hash[hash]; in stackshot_plh_lookup_locked()
3059 plh->plh_hash[hash] = cur; in stackshot_plh_lookup_locked()
3076 struct port_label_hash *plh = &stackshot_ctx.sc_plh; in kdp_stackshot_plh_record_locked() local
3078 uint16_t count = plh->plh_count; in kdp_stackshot_plh_record_locked()
3083 count <= plh->plh_size && plh->plh_size <= STACKSHOT_PLH_SIZE_MAX) { in kdp_stackshot_plh_record_locked()
3084 struct ipc_service_port_label **arr = plh->plh_array; in kdp_stackshot_plh_record_locked()
3153 struct port_label_hash *plh = &stackshot_ctx.sc_plh; in kdp_stackshot_plh_stats() local
3155 #define PLH_STAT(x) do { if (os_atomic_load(&plh->x, relaxed) != 0) { \ in kdp_stackshot_plh_stats()
3156 …kcd_exit_on_error(kcdata_add_uint32_with_description(stackshot_kcdata_p, os_atomic_load(&plh->x, r… in kdp_stackshot_plh_stats()