Lines Matching defs:lcp

162 	lwpchan_data_t *lcp;
170 lcp = p->p_lcp;
171 hashbucket = lcp->lwpchan_cache;
172 endbucket = hashbucket + lcp->lwpchan_size;
199 atomic_dec_32(&lcp->lwpchan_entries);
214 lwpchan_bucket(lwpchan_data_t *lcp, uintptr_t addr)
224 i = (addr ^ (addr >> lcp->lwpchan_bits)) & lcp->lwpchan_mask;
225 return (lcp->lwpchan_cache + i);
234 lwpchan_data_t *lcp;
245 lcp = kmem_alloc(sizeof (lwpchan_data_t), KM_SLEEP);
246 lcp->lwpchan_bits = bits;
247 lcp->lwpchan_size = 1 << lcp->lwpchan_bits;
248 lcp->lwpchan_mask = lcp->lwpchan_size - 1;
249 lcp->lwpchan_entries = 0;
250 lcp->lwpchan_cache = kmem_zalloc(lcp->lwpchan_size *
252 lcp->lwpchan_next_data = NULL;
259 kmem_free(lcp->lwpchan_cache, lcp->lwpchan_size *
261 kmem_free(lcp, sizeof (lwpchan_data_t));
282 newbucket = lwpchan_bucket(lcp,
291 lcp->lwpchan_entries = count;
303 lcp->lwpchan_next_data = old_lcp;
306 * As soon as we store the new lcp, future locking operations will
308 * established reaches global visibility before the new lcp does.
311 p->p_lcp = lcp;
335 lwpchan_data_t *lcp;
340 lcp = p->p_lcp;
344 hashbucket = lcp->lwpchan_cache;
345 endbucket = hashbucket + lcp->lwpchan_size;
360 while (lcp != NULL) {
361 lwpchan_data_t *next_lcp = lcp->lwpchan_next_data;
362 kmem_free(lcp->lwpchan_cache, lcp->lwpchan_size *
364 kmem_free(lcp, sizeof (lwpchan_data_t));
365 lcp = next_lcp;
412 lwpchan_data_t *lcp;
421 if ((lcp = p->p_lcp) == NULL) {
425 hashbucket = lwpchan_bucket(lcp, (uintptr_t)addr);
427 if (lcp != p->p_lcp) {
444 if (lcp != p->p_lcp) {
457 if (count > lcp->lwpchan_bits + 2 && /* larger table, longer chains */
458 (bits = lcp->lwpchan_bits) < LWPCHAN_MAX_BITS) {
472 atomic_inc_32(&lcp->lwpchan_entries);
533 upi_get(upib_t *upibp, lwpchan_t *lcp)
539 if (upip->upi_lwpchan.lc_wchan0 == lcp->lc_wchan0 &&
540 upip->upi_lwpchan.lc_wchan == lcp->lc_wchan)