[DTrace-devel] [PATCH v3 01/08] Ensure that BEGIN is the first probe and END the last one
Eugene Loh
eugene.loh at oracle.com
Thu Sep 17 10:53:14 PDT 2020
I'm still not convinced the "chicken-and-egg" problems in this patch set
are being handled sufficiently clearly -- e.g., introducing things that
almost immediately are changed by other patches. I understand that in
development we sometimes backtrack, but this is supposed to be a
coherent patch set.
Nevertheless, subject to fixing the s/tp/to/ typo below, that so far has
survived three versions of this patch:
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
I am certainly looking forward eagerly to see this functionality pushed!
On 09/16/2020 02:51 PM, Kris Van Hees wrote:
> diff --git a/libdtrace/dt_prov_dtrace.c b/libdtrace/dt_prov_dtrace.c
>
> @@ -67,8 +74,33 @@ static void trampoline(dt_pcb_t *pcb)
> dt_irlist_t *dlp = &pcb->pcb_ir;
> struct bpf_insn instr;
> uint_t lbl_exit = dt_irlist_label(dlp);
> + dt_activity_t act;
> + int adv_act;
> +
> + /*
> + * The BEGIN probe should only run when the activity state is INACTIVE.
> + * At the end of the trampoline (after executing any clauses), the
> + * state must be advanced to the next state (INACTIVE -> ACTIVE).
> + *
> + * The END probe should only run when the activity state is ACTIVE.
> + * At the end of the trampoline (after executing any clauses), the
> + * state must be advanced to the next state (ACTIVE -> DRAINING).
> + *
> + * Any other probe requires the state tp be ACTIVE, and does not change
s/tp/to/
> + * the state.
> + */
More information about the DTrace-devel
mailing list