Lines Matching defs:helper

189 static dtrace_helpers_t *dtrace_deferred_pid;	/* deferred helper list */
200 * including enabling state, probes, ECBs, consumer state, helper state,
273 * These variables should be set dynamically to enable helper tracing. The
275 * be set to a non-zero value to allocate helper tracing buffers on the next
277 * non-zero value to deallocate helper tracing buffers on the next close of
278 * /dev/dtrace). When (and only when) helper tracing is disabled, the
724 * DTrace subroutines (DIF_SUBR_*) should use this helper to implement
2990 * dtrace_dif_variable() uses this routine as a helper for various
6572 * Now we want to walk up the stack, calling the USTACK helper. For
6586 * If we faulted while running the helper, we're going to
6603 * Now copy in the string that the helper returned to us.
7004 * helper to do it for us.
9281 * NULL if this is a helper -- but in that
9284 * the helper is validated.
9481 * Validate a DTrace DIF object that it is to be used as a helper. Helpers
11972 * dtvs_state can only be NULL for helper enablings -- and
11973 * helper enablings can't be retained.
12032 * dtvs_state can only be NULL for helper enablings -- and
12033 * helper enablings can't be retained.
14450 dtrace_helper_trace(dtrace_helper_action_t *helper,
14491 ent->dtht_helper = helper;
14521 dtrace_helper_action_t *helper;
14531 if ((helper = helpers->dthps_actions[which]) == NULL)
14539 * Now iterate over each helper. If its predicate evaluates to 'true',
14547 for (; helper != NULL; helper = helper->dtha_next) {
14548 if ((pred = helper->dtha_predicate) != NULL) {
14550 dtrace_helper_trace(helper, mstate, vstate, 0);
14559 for (i = 0; i < helper->dtha_nactions; i++) {
14561 dtrace_helper_trace(helper,
14564 rval = dtrace_dif_emulate(helper->dtha_actions[i],
14573 dtrace_helper_trace(helper, mstate, vstate,
14578 dtrace_helper_trace(helper, mstate, vstate,
14591 dtrace_helper_trace(helper, mstate, vstate,
14604 dtrace_helper_action_destroy(dtrace_helper_action_t *helper,
14609 if (helper->dtha_predicate != NULL)
14610 dtrace_difo_release(helper->dtha_predicate, vstate);
14612 for (i = 0; i < helper->dtha_nactions; i++) {
14613 ASSERT(helper->dtha_actions[i] != NULL);
14614 dtrace_difo_release(helper->dtha_actions[i], vstate);
14617 kmem_free(helper->dtha_actions,
14618 helper->dtha_nactions * sizeof (dtrace_difo_t *));
14619 kmem_free(helper, sizeof (dtrace_helper_action_t));
14658 * Interate until we've cleared out all helper providers with the
14665 * Look for a helper provider with the right generation. We
14684 * Move the last helper provider into this slot.
14693 * If we have a meta provider, remove this helper provider.
14712 dtrace_helper_validate(dtrace_helper_action_t *helper)
14717 if ((dp = helper->dtha_predicate) != NULL)
14720 for (i = 0; i < helper->dtha_nactions; i++)
14721 err += dtrace_difo_validate_helper(helper->dtha_actions[i]);
14730 dtrace_helper_action_t *helper, *last;
14750 * If we already have dtrace_helper_actions_max helper actions for this
14751 * helper action type, we'll refuse to add a new one.
14756 helper = kmem_zalloc(sizeof (dtrace_helper_action_t), KM_SLEEP);
14757 helper->dtha_generation = help->dthps_generation;
14762 helper->dtha_predicate = pred->dtp_difo;
14775 helper->dtha_actions = kmem_zalloc(sizeof (dtrace_difo_t *) *
14776 (helper->dtha_nactions = nactions), KM_SLEEP);
14780 helper->dtha_actions[i++] = act->dtad_difo;
14783 if (!dtrace_helper_validate(helper))
14787 help->dthps_actions[which] = helper;
14789 last->dtha_next = helper;
14799 dtrace_helper_action_destroy(helper, vstate);
14836 * helper provider description, pass that off to the
14846 * Otherwise, just pass all the helper provider descriptions
14875 * If we already have dtrace_helper_providers_max helper providers,
14896 * Allocate a bigger table for helper providers if it's already full.
15180 * Look for helper providers and validate their descriptions.
15210 if (strcmp(desc->dtpd_mod, "helper") != 0)
15219 * Adding this helper action failed -- we are now going
15302 * Destory the helper actions.
15317 * Destroy the helper providers.
15336 * Remove the helper from the deferred list.
15375 dtrace_helper_action_t *helper, *new, *last;
15392 * Duplicate the helper actions.
15395 if ((helper = help->dthps_actions[i]) == NULL)
15398 for (last = NULL; helper != NULL; helper = helper->dtha_next) {
15401 new->dtha_generation = helper->dtha_generation;
15403 if ((dp = helper->dtha_predicate) != NULL) {
15408 new->dtha_nactions = helper->dtha_nactions;
15413 dtrace_difo_t *dp = helper->dtha_actions[j];
15431 * Duplicate the helper providers and register them with the
15906 * If this wasn't an open with the "helper" minor, then it must be
15945 * If DTrace helper tracing is enabled, we need to allocate the
15996 * If we have been told to disable helper tracing, set the
15999 * CPU is in probe context with enabled helper tracing
16037 dtrace_dof_error(NULL, "failed to copyin DOF helper");