This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


* Frank Ch. Eigler <fche@redhat.com> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]