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
755 * DTrace subroutines (DIF_SUBR_*) should use this helper to implement
992 * In helper context, we have a NULL state; fall back
3108 * dtrace_dif_variable() uses this routine as a helper for various
6719 * Now we want to walk up the stack, calling the USTACK helper. For
6733 * If we faulted while running the helper, we're going to
6756 * Now copy in the string that the helper returned to us.
7157 * helper to do it for us.
9434 * NULL if this is a helper -- but in that
9437 * the helper is validated.
9634 * Validate a DTrace DIF object that it is to be used as a helper. Helpers
12135 * dtvs_state can only be NULL for helper enablings -- and
12136 * helper enablings can't be retained.
12195 * dtvs_state can only be NULL for helper enablings -- and
12196 * helper enablings can't be retained.
14613 dtrace_helper_trace(dtrace_helper_action_t *helper,
14654 ent->dtht_helper = helper;
14684 dtrace_helper_action_t *helper;
14694 if ((helper = helpers->dthps_actions[which]) == NULL)
14702 * Now iterate over each helper. If its predicate evaluates to 'true',
14710 for (; helper != NULL; helper = helper->dtha_next) {
14711 if ((pred = helper->dtha_predicate) != NULL) {
14713 dtrace_helper_trace(helper, mstate, vstate, 0);
14722 for (i = 0; i < helper->dtha_nactions; i++) {
14724 dtrace_helper_trace(helper,
14727 rval = dtrace_dif_emulate(helper->dtha_actions[i],
14736 dtrace_helper_trace(helper, mstate, vstate,
14741 dtrace_helper_trace(helper, mstate, vstate,
14754 dtrace_helper_trace(helper, mstate, vstate,
14767 dtrace_helper_action_destroy(dtrace_helper_action_t *helper,
14772 if (helper->dtha_predicate != NULL)
14773 dtrace_difo_release(helper->dtha_predicate, vstate);
14775 for (i = 0; i < helper->dtha_nactions; i++) {
14776 ASSERT(helper->dtha_actions[i] != NULL);
14777 dtrace_difo_release(helper->dtha_actions[i], vstate);
14780 kmem_free(helper->dtha_actions,
14781 helper->dtha_nactions * sizeof (dtrace_difo_t *));
14782 kmem_free(helper, sizeof (dtrace_helper_action_t));
14821 * Interate until we've cleared out all helper providers with the
14828 * Look for a helper provider with the right generation. We
14847 * Move the last helper provider into this slot.
14856 * If we have a meta provider, remove this helper provider.
14875 dtrace_helper_validate(dtrace_helper_action_t *helper)
14880 if ((dp = helper->dtha_predicate) != NULL)
14883 for (i = 0; i < helper->dtha_nactions; i++)
14884 err += dtrace_difo_validate_helper(helper->dtha_actions[i]);
14893 dtrace_helper_action_t *helper, *last;
14913 * If we already have dtrace_helper_actions_max helper actions for this
14914 * helper action type, we'll refuse to add a new one.
14919 helper = kmem_zalloc(sizeof (dtrace_helper_action_t), KM_SLEEP);
14920 helper->dtha_generation = help->dthps_generation;
14925 helper->dtha_predicate = pred->dtp_difo;
14938 helper->dtha_actions = kmem_zalloc(sizeof (dtrace_difo_t *) *
14939 (helper->dtha_nactions = nactions), KM_SLEEP);
14943 helper->dtha_actions[i++] = act->dtad_difo;
14946 if (!dtrace_helper_validate(helper))
14950 help->dthps_actions[which] = helper;
14952 last->dtha_next = helper;
14962 dtrace_helper_action_destroy(helper, vstate);
14999 * helper provider description, pass that off to the
15009 * Otherwise, just pass all the helper provider descriptions
15038 * If we already have dtrace_helper_providers_max helper providers,
15059 * Allocate a bigger table for helper providers if it's already full.
15343 * Look for helper providers and validate their descriptions.
15373 if (strcmp(desc->dtpd_mod, "helper") != 0)
15382 * Adding this helper action failed -- we are now going
15475 * Destroy the helper actions.
15490 * Destroy the helper providers.
15509 * Remove the helper from the deferred list.
15548 dtrace_helper_action_t *helper, *new, *last;
15565 * Duplicate the helper actions.
15568 if ((helper = help->dthps_actions[i]) == NULL)
15571 for (last = NULL; helper != NULL; helper = helper->dtha_next) {
15574 new->dtha_generation = helper->dtha_generation;
15576 if ((dp = helper->dtha_predicate) != NULL) {
15581 new->dtha_nactions = helper->dtha_nactions;
15586 dtrace_difo_t *dp = helper->dtha_actions[j];
15604 * Duplicate the helper providers and register them with the
16079 * If this wasn't an open with the "helper" minor, then it must be
16118 * If DTrace helper tracing is enabled, we need to allocate the
16169 * If we have been told to disable helper tracing, set the
16172 * CPU is in probe context with enabled helper tracing
16210 dtrace_dof_error(NULL, "failed to copyin DOF helper");