Lines Matching refs:enab

9212 dtrace_probe_enable(dtrace_probedesc_t *desc, dtrace_enabling_t *enab)  argument
9227 (void) dtrace_ecb_create_enable(NULL, enab);
9232 dtrace_cred2priv(enab->dten_vstate->dtvs_state->dts_cred.dcr_cred,
9236 enab));
11639 dtrace_enabling_t *enab) argument
11645 dtrace_ecbdesc_t *desc = enab->dten_current;
11711 if ((enab->dten_error = dtrace_ecb_action_add(ecb, act)) != 0) {
11726 dtrace_enabling_t *enab = arg; local
11727 dtrace_state_t *state = enab->dten_vstate->dtvs_state;
11731 if (probe != NULL && probe->dtpr_gen < enab->dten_probegen) {
11740 if ((ecb = dtrace_ecb_create(state, probe, enab)) == NULL)
12384 dtrace_enabling_t *enab; local
12386 enab = kmem_zalloc(sizeof (dtrace_enabling_t), KM_SLEEP);
12387 enab->dten_vstate = vstate;
12389 return (enab);
12393 dtrace_enabling_add(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb) argument
12402 ASSERT(enab->dten_probegen == 0);
12403 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL);
12405 if (enab->dten_ndesc < enab->dten_maxdesc) {
12406 enab->dten_desc[enab->dten_ndesc++] = ecb;
12410 osize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *);
12412 if (enab->dten_maxdesc == 0) {
12413 enab->dten_maxdesc = 1;
12415 enab->dten_maxdesc <<= 1;
12418 ASSERT(enab->dten_ndesc < enab->dten_maxdesc);
12420 nsize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *);
12422 bcopy(enab->dten_desc, ndesc, osize);
12423 if (enab->dten_desc != NULL)
12424 kmem_free(enab->dten_desc, osize);
12426 enab->dten_desc = ndesc;
12427 enab->dten_desc[enab->dten_ndesc++] = ecb;
12431 dtrace_enabling_addlike(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb, argument
12455 dtrace_enabling_add(enab, new);
12459 dtrace_enabling_dump(dtrace_enabling_t *enab) argument
12463 for (i = 0; i < enab->dten_ndesc; i++) {
12464 dtrace_probedesc_t *desc = &enab->dten_desc[i]->dted_probe;
12473 dtrace_enabling_destroy(dtrace_enabling_t *enab) argument
12477 dtrace_vstate_t *vstate = enab->dten_vstate;
12481 for (i = 0; i < enab->dten_ndesc; i++) {
12485 ep = enab->dten_desc[i];
12498 if (enab->dten_desc != NULL)
12499 kmem_free(enab->dten_desc,
12500 enab->dten_maxdesc * sizeof (dtrace_enabling_t *));
12506 if (enab->dten_prev != NULL || enab->dten_next != NULL ||
12507 dtrace_retained == enab) {
12508 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12509 ASSERT(enab->dten_vstate->dtvs_state->dts_nretained > 0);
12510 enab->dten_vstate->dtvs_state->dts_nretained--;
12514 if (enab->dten_prev == NULL) {
12515 if (dtrace_retained == enab) {
12516 dtrace_retained = enab->dten_next;
12522 ASSERT(enab != dtrace_retained);
12524 enab->dten_prev->dten_next = enab->dten_next;
12527 if (enab->dten_next != NULL) {
12529 enab->dten_next->dten_prev = enab->dten_prev;
12532 kmem_free(enab, sizeof (dtrace_enabling_t));
12536 dtrace_enabling_retain(dtrace_enabling_t *enab) argument
12541 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL);
12542 ASSERT(enab->dten_vstate != NULL);
12544 state = enab->dten_vstate->dtvs_state;
12557 dtrace_retained = enab;
12561 enab->dten_next = dtrace_retained;
12562 dtrace_retained->dten_prev = enab;
12563 dtrace_retained = enab;
12572 dtrace_enabling_t *new, *enab; local
12587 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) {
12594 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12596 if (enab->dten_vstate->dtvs_state != state)
12603 for (i = 0; i < enab->dten_ndesc; i++) {
12604 dtrace_ecbdesc_t *ep = enab->dten_desc[i];
12639 dtrace_enabling_t *enab, *next; local
12647 for (enab = dtrace_retained; enab != NULL; enab = next) {
12648 next = enab->dten_next;
12654 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12656 if (enab->dten_vstate->dtvs_state == state) {
12658 dtrace_enabling_destroy(enab);
12666 dtrace_enabling_match(dtrace_enabling_t *enab, int *nmatched) argument
12674 for (i = 0; i < enab->dten_ndesc; i++) {
12675 dtrace_ecbdesc_t *ep = enab->dten_desc[i];
12677 enab->dten_current = ep;
12678 enab->dten_error = 0;
12680 matched += dtrace_probe_enable(&ep->dted_probe, enab);
12682 if (enab->dten_error != 0) {
12699 enab->dten_error);
12702 return (enab->dten_error);
12706 enab->dten_probegen = dtrace_probegen;
12716 dtrace_enabling_t *enab; local
12731 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) {
12733 cred_t *cr = enab->dten_vstate->dtvs_state->dts_cred.dcr_cred;
12738 (void) dtrace_enabling_match(enab, NULL);
12758 dtrace_enabling_t *enab; local
12761 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) {
12762 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12764 if (enab->dten_vstate->dtvs_state != state)
12774 if (enab->dten_primed)
12777 for (i = 0; i < enab->dten_ndesc; i++) {
12778 enab->dten_current = enab->dten_desc[i];
12779 (void) dtrace_probe_enable(NULL, enab);
12782 enab->dten_primed = 1;
12808 dtrace_enabling_t *enab; local
12813 for (enab = dtrace_retained; enab != NULL;
12814 enab = enab->dten_next) {
12815 for (i = 0; i < enab->dten_ndesc; i++) {
12816 desc = enab->dten_desc[i]->dted_probe;
13779 dtrace_enabling_t *enab; local
13942 if ((enab = *enabp) == NULL)
13943 enab = *enabp = dtrace_enabling_create(vstate);
13953 dtrace_enabling_destroy(enab);
13958 dtrace_enabling_add(enab, ep);
16033 dtrace_enabling_t *enab = NULL; local
16047 if ((rv = dtrace_dof_slurp(dof, vstate, NULL, &enab,
16065 dtrace_enabling_destroy(enab);
16077 for (i = 0; i < enab->dten_ndesc; i++) {
16078 dtrace_ecbdesc_t *ep = enab->dten_desc[i];
16098 dtrace_enabling_destroy(enab);
16106 if (nhelpers < enab->dten_ndesc)
16110 dtrace_enabling_destroy(enab);
16704 dtrace_enabling_t *enab; local
16835 if ((enab = dtrace_anon.dta_enabling) != NULL)
16836 (void) dtrace_enabling_match(enab, NULL);
17327 dtrace_enabling_t *enab = NULL; local
17357 if (dtrace_dof_slurp(dof, vstate, cr, &enab, 0, B_TRUE) != 0) {
17365 dtrace_enabling_destroy(enab);
17372 if ((err = dtrace_enabling_match(enab, rv)) == 0) {
17373 err = dtrace_enabling_retain(enab);
17375 dtrace_enabling_destroy(enab);