[RFC][Revised Patch 0/5] New Probe family : probe kprobe.function()

Prerna Saxena prerna@linux.vnet.ibm.com
Sun Apr 19 17:37:00 GMT 2009


Here's the revised set of patches.

Frank Ch. Eigler wrote:
> Prerna Saxena <prerna@linux.vnet.ibm.com> writes:
>
>   
>> Here's a prototype of a new language feature in systemtap : probe
>> kprobe [...]
>>     
>
> Looks good.  I suggest a few changes:
>
> - removal of ".inline"-related logic/variables, since they are inherently
>   unavailable
>   
Done.
> - removal of registration/unregistration code that was added for symbolic
>   kprobes only to optimize the thousands-of-probes case, such as the
>   char*/char[] automagic selector
>   
Changed code to implement "stap_dwarfless_probe->pp" & 
"stap_dwarfless_probe->symbol_name" as a char[] only , instead of 
allowing a choice between char* & char[]  implementation.
> - initialization of the new systemtap_session field
>   
Thanks.....dunno how I'd missed this one :-)
> - adding test cases, documentation, NEWS blurb
>   
I've added one testcase in systemtap.base for probe kprobe.function().
> To what extent does the kernel's symbolic kprobe logic allow probes to
> be placed within modules? 
As pointed by Ananth, a kprobe.function("") construct can be used to 
probe module functions too, since it searches modules if the said symbol 
wasnt found in the kernel. However, in the event the probed function 
name is present in more than one modules, the probe point gets 
registered for first instance of the function.  ( which may or may not 
be the desired probe point) .

Probing module functions can be accomplished using this separate construct :
    probe kprobe.module("module_name").function("function_name")
>  Would it be worthwhile to allow numeric
> probe addresses (as in kernel.statement(0xaddr).absolute)?
>
>   
Thanks for the suggestion :-)
This is implemented as :
    probe kprobe.statement(ADDRESS).absolute
This needs to be run in privileged mode , just like kernel.statement() 
probes  

> - FChE
>   
Regards,

-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India 


-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India 



More information about the Systemtap mailing list