[DTrace-devel] [PATCH 2/7] Implement the sched provider
Nick Alcock
nick.alcock at oracle.com
Tue May 16 16:28:48 UTC 2023
On 13 May 2023, Kris Van Hees spake thusly:
>> + } else if (strcmp(prp->desc->prb, "preempt") == 0 ||
>> + strcmp(prp->desc->prb, "sleep") == 0) {
>> + pd.id = DTRACE_IDNONE;
>> + pd.prv = "sdt";
>> + pd.mod = "sched";
>> + pd.fun = "";
>> + pd.prb = "sched_switch";
>> +
>> + uprp = dt_probe_lookup(dtp, &pd);
>> + assert(uprp != NULL);
>> +
>> + dt_probe_add_dependent(dtp, uprp, prp);
>> + dt_probe_enable(dtp, uprp);
>>
>> So for on-cpu, the probedesc is the description of the underlying fbt
>> probe, but for preempt and sleep it's... what, something in sdt:sched,
>> which is what we're defining here, even though we do a
>> dt_probe_add_dependent() with it just like we do with on-cpu above?
>>
>> I guess I don't understand what the underlying probe even is for preempt
>> and sleep.
>
> sdt:sched::<probe> is a kernel tracepoint.
> The probes that the sched provider is implementing are sched:::
Ahhh all is clear. It's amazingly easy to overlook that one little word :)
Reviewed-by: Nick Alcock <nick.alcock at oracle.com>
--
NULL && (void)
More information about the DTrace-devel
mailing list