Lines Matching refs:lhp
1399 kmem_log_header_t *lhp; in kmem_log_init() local
1409 lhp = vmem_xalloc(kmem_log_arena, lhsize, 64, P2NPHASE(lhsize, 64), 0, in kmem_log_init()
1411 bzero(lhp, lhsize); in kmem_log_init()
1413 mutex_init(&lhp->lh_lock, NULL, MUTEX_DEFAULT, NULL); in kmem_log_init()
1414 lhp->lh_nchunks = nchunks; in kmem_log_init()
1415 lhp->lh_chunksize = P2ROUNDUP(logsize / nchunks + 1, PAGESIZE); in kmem_log_init()
1416 lhp->lh_base = vmem_alloc(kmem_log_arena, in kmem_log_init()
1417 lhp->lh_chunksize * nchunks, VM_SLEEP); in kmem_log_init()
1418 lhp->lh_free = vmem_alloc(kmem_log_arena, in kmem_log_init()
1420 bzero(lhp->lh_base, lhp->lh_chunksize * nchunks); in kmem_log_init()
1423 kmem_cpu_log_header_t *clhp = &lhp->lh_cpu[i]; in kmem_log_init()
1429 lhp->lh_free[i] = i; in kmem_log_init()
1431 lhp->lh_head = max_ncpus; in kmem_log_init()
1432 lhp->lh_tail = 0; in kmem_log_init()
1434 return (lhp); in kmem_log_init()
1438 kmem_log_enter(kmem_log_header_t *lhp, void *data, size_t size) in kmem_log_enter() argument
1443 if (lhp == NULL || kmem_logging == 0 || panicstr) in kmem_log_enter()
1446 clhp = &lhp->lh_cpu[CPU->cpu_seqid]; in kmem_log_enter()
1451 mutex_enter(&lhp->lh_lock); in kmem_log_enter()
1452 lhp->lh_hits++; in kmem_log_enter()
1453 lhp->lh_free[lhp->lh_tail] = clhp->clh_chunk; in kmem_log_enter()
1454 lhp->lh_tail = (lhp->lh_tail + 1) % lhp->lh_nchunks; in kmem_log_enter()
1455 clhp->clh_chunk = lhp->lh_free[lhp->lh_head]; in kmem_log_enter()
1456 lhp->lh_head = (lhp->lh_head + 1) % lhp->lh_nchunks; in kmem_log_enter()
1457 clhp->clh_current = lhp->lh_base + in kmem_log_enter()
1458 clhp->clh_chunk * lhp->lh_chunksize; in kmem_log_enter()
1459 clhp->clh_avail = lhp->lh_chunksize; in kmem_log_enter()
1460 if (size > lhp->lh_chunksize) in kmem_log_enter()
1461 size = lhp->lh_chunksize; in kmem_log_enter()
1462 mutex_exit(&lhp->lh_lock); in kmem_log_enter()