Home | History | Annotate | Download | only in dev

Lines Matching defs:cw

571 	struct cgd_worker *cw;
580 cw = cgd_create_one_worker();
581 if (cw == NULL) {
588 cgd_destroy_one_worker(cw);
592 sc->sc_worker = cw;
601 struct cgd_worker *cw = sc->sc_worker;
610 cgd_destroy_one_worker(cw);
652 cgd_destroy_one_worker(struct cgd_worker *cw)
655 KASSERT(cw == cgd_worker);
666 struct cgd_worker *cw;
671 cw = kmem_alloc(sizeof(struct cgd_worker), KM_SLEEP);
678 kmem_free(cw, sizeof(struct cgd_worker));
682 cw->cw_cpool = cp;
683 cw->cw_wq = wq;
684 pool_init(cw->cw_cpool, sizeof(struct cgd_xfer), 0,
686 mutex_init(&cw->cw_lock, MUTEX_DEFAULT, IPL_BIO);
688 return cw;
692 cgd_destroy_worker(struct cgd_worker *cw)
699 if (cw->cw_wq)
700 workqueue_destroy(cw->cw_wq);
702 mutex_destroy(&cw->cw_lock);
704 if (cw->cw_cpool) {
705 pool_destroy(cw->cw_cpool);
706 kmem_free(cw->cw_cpool, sizeof(struct pool));
709 kmem_free(cw, sizeof(struct cgd_worker));
846 struct cgd_worker *cw = sc->sc_worker;
866 cx = pool_get(cw->cw_cpool, PR_NOWAIT);
886 pool_put(cw->cw_cpool, cx);
986 struct cgd_worker *cw = sc->sc_worker;
991 pool_put(cw->cw_cpool, cx);
1527 struct cgd_worker *cw = sc->sc_worker;
1531 if (cw->cw_busy == 0) {
1532 cw->cw_last = cpu_index(curcpu());
1536 for (i=0, cidx = cw->cw_last+1; i<maxcpus; ++i, ++cidx) {
1541 cw->cw_last = cidx;
1552 struct cgd_worker *cw = sc->sc_worker;
1555 mutex_enter(&cw->cw_lock);
1557 cw->cw_busy++;
1558 mutex_exit(&cw->cw_lock);
1560 workqueue_enqueue(cw->cw_wq, &cx->cx_work, ci);
1568 struct cgd_worker *cw = sc->sc_worker;
1579 mutex_enter(&cw->cw_lock);
1580 if (cw->cw_busy > 0)
1581 cw->cw_busy--;
1582 mutex_exit(&cw->cw_lock);