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: PR10746


On 10/09/2009 11:42 PM, Wenji Huang wrote:
> Hi,
> 
> Commit "PR10746: improve error message on utrace-less kernels"
> makes things strict for process.* on non-utrace kernel.  So
> the following scripts will get error.
> 
> $ stap -l 'process("./bz6905").statement("*")'
> $ stap -p2 -e 'probe process.syscall{}'
> $ stap -k -p3 -e 'probe process.begin{}'
> 
> There is also no generated C file for those scripts when we
> need code review.
> 
> In fact, procedure 1-3 are not related to utrace.

Actually, they all are related to utrace.  Any 'process' probe variant
is related to utrace, in usually more than one way.  The first way they
are related to utrace is that all the 'process.*' probes use the
utrace-based task_finder to find the correct process(es) to probe.

#1: 'process.statement' probes use uprobes (which is also based on
utrace) to implement the probes.

#2: 'process.syscall' probes use the UTRACE_EVENT(SYSCALL_ENTRY) event
to implement the probes.

#3: 'process.begin' probes use UTRACE_EVENT(CLONE) | UTRACE_EVENT(EXEC)
events to actually implement the probes.

So, the above examples will not work without utrace.

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)


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