Lines Matching refs:lcp
161 lwpchan_data_t *lcp; in lwpchan_delete_mapping() local
169 lcp = p->p_lcp; in lwpchan_delete_mapping()
170 hashbucket = lcp->lwpchan_cache; in lwpchan_delete_mapping()
171 endbucket = hashbucket + lcp->lwpchan_size; in lwpchan_delete_mapping()
198 atomic_dec_32(&lcp->lwpchan_entries); in lwpchan_delete_mapping()
213 lwpchan_bucket(lwpchan_data_t *lcp, uintptr_t addr) in lwpchan_bucket() argument
223 i = (addr ^ (addr >> lcp->lwpchan_bits)) & lcp->lwpchan_mask; in lwpchan_bucket()
224 return (lcp->lwpchan_cache + i); in lwpchan_bucket()
233 lwpchan_data_t *lcp; in lwpchan_alloc_cache() local
244 lcp = kmem_alloc(sizeof (lwpchan_data_t), KM_SLEEP); in lwpchan_alloc_cache()
245 lcp->lwpchan_bits = bits; in lwpchan_alloc_cache()
246 lcp->lwpchan_size = 1 << lcp->lwpchan_bits; in lwpchan_alloc_cache()
247 lcp->lwpchan_mask = lcp->lwpchan_size - 1; in lwpchan_alloc_cache()
248 lcp->lwpchan_entries = 0; in lwpchan_alloc_cache()
249 lcp->lwpchan_cache = kmem_zalloc(lcp->lwpchan_size * in lwpchan_alloc_cache()
251 lcp->lwpchan_next_data = NULL; in lwpchan_alloc_cache()
258 kmem_free(lcp->lwpchan_cache, lcp->lwpchan_size * in lwpchan_alloc_cache()
260 kmem_free(lcp, sizeof (lwpchan_data_t)); in lwpchan_alloc_cache()
281 newbucket = lwpchan_bucket(lcp, in lwpchan_alloc_cache()
290 lcp->lwpchan_entries = count; in lwpchan_alloc_cache()
302 lcp->lwpchan_next_data = old_lcp; in lwpchan_alloc_cache()
310 p->p_lcp = lcp; in lwpchan_alloc_cache()
334 lwpchan_data_t *lcp; in lwpchan_destroy_cache() local
339 lcp = p->p_lcp; in lwpchan_destroy_cache()
343 hashbucket = lcp->lwpchan_cache; in lwpchan_destroy_cache()
344 endbucket = hashbucket + lcp->lwpchan_size; in lwpchan_destroy_cache()
359 while (lcp != NULL) { in lwpchan_destroy_cache()
360 lwpchan_data_t *next_lcp = lcp->lwpchan_next_data; in lwpchan_destroy_cache()
361 kmem_free(lcp->lwpchan_cache, lcp->lwpchan_size * in lwpchan_destroy_cache()
363 kmem_free(lcp, sizeof (lwpchan_data_t)); in lwpchan_destroy_cache()
364 lcp = next_lcp; in lwpchan_destroy_cache()
411 lwpchan_data_t *lcp; in lwpchan_get_mapping() local
420 if ((lcp = p->p_lcp) == NULL) { in lwpchan_get_mapping()
424 hashbucket = lwpchan_bucket(lcp, (uintptr_t)addr); in lwpchan_get_mapping()
426 if (lcp != p->p_lcp) { in lwpchan_get_mapping()
443 if (lcp != p->p_lcp) { in lwpchan_get_mapping()
456 if (count > lcp->lwpchan_bits + 2 && /* larger table, longer chains */ in lwpchan_get_mapping()
457 (bits = lcp->lwpchan_bits) < LWPCHAN_MAX_BITS) { in lwpchan_get_mapping()
471 atomic_inc_32(&lcp->lwpchan_entries); in lwpchan_get_mapping()
532 upi_get(upib_t *upibp, lwpchan_t *lcp) in upi_get() argument
538 if (upip->upi_lwpchan.lc_wchan0 == lcp->lc_wchan0 && in upi_get()
539 upip->upi_lwpchan.lc_wchan == lcp->lc_wchan) in upi_get()