On Wed, 22 Jan 2025 01:39:42 -0800
Breno Leitao <leitao@xxxxxxxxxx> wrote:
Right, DECLARE_TRACE would solve my current problem, but, a056a5bed7faThanks for the pointer. I didn't know this discussion was going on. I just
("sched/debug: Export the newly added tracepoints") says "BPF doesn't
have infrastructure to access these bare tracepoints either.".
Does BPF know how to attach to this bare tracepointers now?
On the other side, it seems real tracepoints is getting more pervasive?
So, this current approach might be OK also?
https://lore.kernel.org/bpf/20250118033723.GV1977892@ZenIV/T/#m4c2fb2d904e839b34800daf8578dff0b9abd69a0
asked to attend if this gets accepted. I'm only a 6 hour drive from
Montreal anyway.
For modules to use them directly, yes. But there's other ways too.You can see its use in include/trace/events/sched.hI suppose I need to export the tracepointer with
EXPORT_TRACEPOINT_SYMBOL_GPL(), right?
I am trying to hack something as the following, but, I struggled to hookMaybe you can use the iterator to search for the tracepoint.
BPF into it.
#include <linux/tracepoint.h>
static void fct(struct tracepoint *tp, void *priv)
{
if (!tp->name || strcmp(tp->name, "<tracepoint_name>") != 0)
return 0;
// attach to tracepoint tp
}
[..]
for_each_kernel_tracepoint(fct, NULL);
This is how LTTng hooks to tracepoints.
-- Steve