Lines Matching defs:plb
240 pmc_plb_rele_unlocked(struct pmclog_buffer *plb)
242 TAILQ_INSERT_HEAD(&pmc_dom_hdrs[plb->plb_domain]->pdbh_head, plb, plb_next);
246 pmc_plb_rele(struct pmclog_buffer *plb)
248 mtx_lock_spin(&pmc_dom_hdrs[plb->plb_domain]->pdbh_mtx);
249 pmc_plb_rele_unlocked(plb);
250 mtx_unlock_spin(&pmc_dom_hdrs[plb->plb_domain]->pdbh_mtx);
259 struct pmclog_buffer *plb;
268 if ((plb = TAILQ_FIRST(&pmc_dom_hdrs[domain]->pdbh_head)) != NULL)
269 TAILQ_REMOVE(&pmc_dom_hdrs[domain]->pdbh_head, plb, plb_next);
272 PMCDBG2(LOG,GTB,1, "po=%p plb=%p", po, plb);
275 if (plb)
276 KASSERT(plb->plb_ptr == plb->plb_base &&
277 plb->plb_base < plb->plb_fence,
279 "base=%p fence=%p", __LINE__, po, plb->plb_ptr,
280 plb->plb_base, plb->plb_fence));
283 po->po_curbuf[curcpu] = plb;
287 if (plb == NULL)
290 return (plb ? 0 : ENOMEM);
510 struct pmclog_buffer *plb;
512 plb = po->po_curbuf[curcpu];
513 KASSERT(plb->plb_ptr >= plb->plb_base,
515 po, plb->plb_ptr, plb->plb_base));
516 KASSERT(plb->plb_ptr <= plb->plb_fence,
518 po, plb->plb_ptr, plb->plb_fence));
521 if (plb->plb_ptr >= plb->plb_fence)
548 struct pmclog_buffer *plb, **pplb;
566 plb = *pplb;
567 KASSERT(plb->plb_ptr >= plb->plb_base &&
568 plb->plb_ptr <= plb->plb_fence,
570 __LINE__, po, plb->plb_ptr, plb->plb_base,
571 plb->plb_fence));
573 oldptr = (uintptr_t) plb->plb_ptr;
583 if (newptr <= (uintptr_t) plb->plb_fence) {
584 plb->plb_ptr = (char *) newptr;
597 plb = *pplb;
598 KASSERT(plb != NULL,
601 KASSERT(plb->plb_ptr != NULL,
604 KASSERT(plb->plb_ptr == plb->plb_base &&
605 plb->plb_ptr <= plb->plb_fence,
607 __LINE__, po, plb->plb_ptr, plb->plb_base,
608 plb->plb_fence));
610 oldptr = (uintptr_t) plb->plb_ptr;
627 struct pmclog_buffer *plb;
629 plb = po->po_curbuf[curcpu];
631 KASSERT(plb != NULL,
633 KASSERT(plb->plb_ptr >= plb->plb_base,
635 po, plb->plb_ptr, plb->plb_base));
636 KASSERT(plb->plb_ptr <= plb->plb_fence,
638 po, plb->plb_ptr, plb->plb_fence));
647 TAILQ_INSERT_TAIL(&po->po_logbuffers, plb, plb_next);
846 struct pmclog_buffer *plb;
855 plb = po->po_curbuf[cpu];
856 if (plb && plb->plb_ptr != plb->plb_base)
1236 struct pmclog_buffer *plb;
1261 plb = malloc_domainset(sizeof(struct pmclog_buffer) * total,
1263 pmc_dom_hdrs[domain]->pdbh_plbs = plb;
1264 for (; total > 0; total--, plb++) {
1269 PMCLOG_INIT_BUFFER_DESCRIPTOR(plb, buf, domain);
1270 pmc_plb_rele_unlocked(plb);
1285 struct pmclog_buffer *plb;
1291 while ((plb = TAILQ_FIRST(&pmc_dom_hdrs[domain]->pdbh_head)) != NULL) {
1292 TAILQ_REMOVE(&pmc_dom_hdrs[domain]->pdbh_head, plb, plb_next);
1293 free(plb->plb_base, M_PMC);