Re: [PATCH -tip tracing/kprobes 0/9] tracing/kprobes, perf: perfprobe and kprobe-tracer bugfixes

From: Ingo Molnar
Date: Tue Oct 20 2009 - 02:44:13 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

[...]
>
> I think absolute and relative line modes are not colliding/contending
> at all but actually fit two different needs.

Definitely so.

> - absolute is nice when you are lonely doing kernel debugging.
> (can be expanded at will once you imagine user probes)
> You are stuck in your code editor, trying to figure out the
> origin of your problem and then you think it would be nice
> to set a probe in branch 1 and in branch 2 inside func_foo().
> Then you already have absolute lines and relying in
> perf probe --list func_foo() to resolve an absolute line into
> a relative one is a very undesired middle step.

Of course - absolute numbers definitely rule for everything that works
on a whole-file basis. (I'd argue that if you do that from an editor
then you want a short macro that just sets a probe there - much like a
breakpoint. Such an editor macro would want to use absolute numbers.))

> - relative is nice in some other cases. When you already have
> the function target in mind, you even don't need to check your
> editor, just a quick check to this command and get the relative
> line. But also when you want to transmit a probe reference
> in a mailing list because of its better lifetime.

also useful for command line workflows: 'perf probe --list' output - i
think we users to generate func_symbol+rel_position kind of probes.

Plus a relative position is more intuitive as well. If you see
'schedule+10' versus 'schedule+102', you'll know it immediate that the
first one is early in the function while the second one is near the end.

If you see 'schedule@2465' versus 'schedule@2555' that kind of 'where in
the function is the probe, roughly' subjective impression is lost.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/