This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: PR10746
- From: David Smith <dsmith at redhat dot com>
- To: wenji dot huang at oracle dot com
- Cc: SystemTAP <systemtap at sources dot redhat dot com>
- Date: Mon, 12 Oct 2009 14:45:04 -0500
- Subject: Re: PR10746
- References: <4AD010AD.9020904@oracle.com>
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)