Re: [PATCH] Linux Kernel Markers 0.5 for Linux 2.6.17 (with probe management)

Ingo Molnar
2006-09-22T07:15:30Z

* Mathieu Desnoyers <compudj@krystal.dyndns.org> wrote:

> I clearly expressed my position in the previous emails, so did you.
> You argued about a use of tracing that is not relevant to my vision of
> reality, which is :
>
> - Embedded systems developers won't want a breakpoint-based probe

are you arguing that i'm trying to force breakpoint-based probing on
you? I dont. In fact i explicitly mentioned that i'd accept and support
a 5-byte NOP in the body of the marker, in the following mails:

"just go for [...] the 5-NOP variant"
http://marc.theaimsgroup.com/?l=linux-kernel&m=115859771924187&w=2
(my reply to your second proposal)

"or at most one NOP"
http://marc.theaimsgroup.com/?l=linux-kernel&m=115865412332230&w=2
(my reply to your third proposal)

"at most a NOP inserted"
http://marc.theaimsgroup.com/?l=linux-kernel&m=115886524224874&w=2
(my reply to your fifth proposal)

That enables the probe to be turned into a function call - not an INT3
breakpoint. Does it take some effort to implement that on your part?
Yes, of course, but getting code upstream is never easy, /especially/ in
cases where most of the users wont use a particular feature.

> - High performance computing users won't want a breakpoint-based probe

I am not forcing breakpoint-based probing, at all. I dont want _static,
build-time function call based_ probing, and there is a big difference.
And one reason why i want to avoid "static, build-time function call
based probing" is because high-performance computing users dont want any
overhead at all in the kernel fastpath.

> - djprobe is far away from being in an acceptable state on
> architectures with very inconvenient erratas (x86).

djprobes over a NOP marker are perfectly usable and safe: just add a
simple constraint to them to only allow a djprobes insertion if it
replaces a 5-byte NOP.

> - kprobe and djprobe cannot access local variables in every cases

it is possible with the marker mechanism i outlined before:

http://marc.theaimsgroup.com/?l=linux-kernel&m=115886524224874&w=2

have i missed to address any concern of yours?

Ingo