Lines Matching defs:anchor
1390 md_daemon(int pass_thru, mdq_anchor_t *anchor)
1400 CALLB_CPR_INIT(&cprinfo, &anchor->a_mx, callb_md_cpr, "md_daemon");
1404 mutex_enter(&anchor->a_mx);
1405 while ((dq = anchor->dq.dq_next) == &(anchor->dq)) {
1409 * mutex_exit(&anchor->a_mx)
1415 mutex_exit(&anchor->a_mx);
1421 * mutex_exit(&anchor->a_mx)
1423 mutex_enter(&anchor->a_mx);
1428 cv_wait(&anchor->a_cv, &anchor->a_mx);
1429 CALLB_CPR_SAFE_END(&cprinfo, &anchor->a_mx);
1434 anchor->dq.qlen--;
1435 mutex_exit(&anchor->a_mx);
1445 * anchored by *anchor.
1452 daemon_request(mdq_anchor_t *anchor, void (*func)(),
1477 mutex_enter(&anchor->a_mx);
1479 anchor->dq.qlen += i;
1480 anchor->dq.treqs += i;
1481 anchor->dq.maxq_len = (anchor->dq.qlen > anchor->dq.maxq_len) ?
1482 anchor->dq.qlen : anchor->dq.maxq_len;
1485 request->dq_prev = anchor->dq.dq_prev;
1486 rqtp->dq_next = &anchor->dq;
1487 anchor->dq.dq_prev->dq_next = request;
1488 anchor->dq.dq_prev = rqtp;
1489 cv_broadcast(&anchor->a_cv);
1490 mutex_exit(&anchor->a_mx);