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

From: Ingo Molnar
Date: Thu Sep 21 2006 - 14:59:26 EST



* Frank Ch. Eigler <fche@xxxxxxxxxx> wrote:

> > +#define MARK_SYM(name) \
> > + here: asm volatile \
> > + (MARK_KPROBE_PREFIX#name " = %0" : : "m" (*&&here)); \
>
> Regarding MARK_SYM, if I read Ingo's message correctly, this is the
> only type of marker he believes is necessary, since it would put a
> place for kprobes to put a breakpoint. FWIW, this still appears to be
> applicable only if the int3 overheads are tolerable, and if parameter
> data extraction is unnecessary or sufficiently robust "by accident".

let me qualify that: parameters must be prepared there too - but no
actual function call inserted. (at most a NOP inserted). The register
filling doesnt even have to be function-calling-convention compliant -
that makes the symbolic probe almost zero-impact to register
allocation/scheduling, the only thing it should ensure is that the
parameters that are annotated to be available in register, stack or
memory _somewhere_. (i.e. not hidden or destroyed at that point by gcc)
Does a simple asm() that takes read-only parameters but only adds a NOP
achieve this result?

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/