[Ksummit-discuss] [TECH TOPIC] Pulling away from the tracing ABI quicksands

Peter Zijlstra peterz at infradead.org
Tue Jul 4 14:51:10 UTC 2017


Yay, tracing fight!! :/

On Thu, Jun 29, 2017 at 10:12:45PM -0400, Steven Rostedt wrote:
> On Thu, 29 Jun 2017 18:51:14 -0700
> Linus Torvalds <torvalds at linux-foundation.org> wrote:

> > But yes, I was talking about something very similar to what I think
> > Peter is talking about - the ability to attach a ebpf script to
> > kprobes and extract data dynamically. We've supported ebpf tracepoints
> > for years afaik, what is actually missing from using that for whatever
> > particular extension people want to use?
> 
> Well, I don't want to put words in his mouth, but as he's probably
> currently putting mush in a baby's mouth, so I'll do it anyway. ;-) We
> were talking about making the static tracepoints more "dynamic". I'm not
> sure he's ever used eBPF with tracing.

So my concerns/objections are two-fold:

 - I want only a single static tracepoint in the code.

 - I want only a single 'event' associated with this in userspace.

   (in particular I only see confusion happening when we have:
    sched_switch_fair, sched_switch_rt, sched_switch_deadline events for
    the exact same event; people will forget to enable one or more and
    wonder WTF they have holes in their traces)

These are not strange constraints / demands in my book. Just turns out
its 'difficult' to pull off or something.  I'm in fact fine with simply
adding bits to the one tracepoint we have; although others (that'd be
you Steve) are not because expensive.

Further complications seem to stem from the fact that I use the tracefs
interface exclusively. I don't know how to use perf or trace-cmd or any
of that new fangled stuff to do tracing -- nor do I really care, it
works for me (same why I'm happy with sysvinit, I don't _want_ to have
to relearn my 20+ year old sysadmin skillz, there's better things in live
to spend time on, that baby you mentioned for example).

So on that same vein, I'd be entirely helpless using eBPF to do tracing,
that's even more complicated. That said, I don't typically need this
crud anyway, I just change my kernel and rebuild, reboot and am happy,
that's far easier than trying to figure out how eBPF works.


In any case, baby vomit is more fun that this subject :-)


More information about the Ksummit-discuss mailing list