This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: probe timer.profile registration error
Hi,
Thanks for your reply, and I have checked the config file when I build
the kernel, I found "CONFIG_PROFILING=y".
And when I try again, the error not exists.
So I think it is not the reason.
May be as Frank Ch. Eigler said:
"The timer.profile probe, in many kernel versions, is a
single-concurrent-user-only facility. If there is already another
systemtap script or some other kernel user of the profiling timer
interrupt, then subsequent ones get the -EBUSY (-16) error."
I will check it.
Thanks,
Best Wishes,
Wenhua
2012/10/21 Turgis, Frederic <f-turgis@ti.com>:
> I think you would have had an error in previous pass but you could check that you have CONFIG_PROFILING enabled so that register_timer_hook() is defined in kernel. "probe timer.profile" relies on this function.
>
> Regards
> Fred
>
> OMAP Platform Business Unit - System Platform Engineering - Platform & Product Entitlement
>
>
>>
> Texas Instruments France SA, 821 Avenue Jack Kilby, 06270 Villeneuve Loubet. 036 420 040 R.C.S Antibes. Capital de EUR 12.654.784
>
> -----Original Message-----
>>From: systemtap-owner@sourceware.org [mailto:systemtap-owner@sourceware.org] On Behalf Of Wenhua Zhang
>>Sent: Saturday, October 20, 2012 6:00 AM
>>To: systemtap@sourceware.org
>>Subject: probe timer.profile registration error
>>
>>Hi ,
>>When I run the stap command as below,
>>
>> /opt/systemtap/bin/stap --ldd -d /usr/local/nginx/sbin/nginx
>> --all-modules -D MAXMAPENTRIES=5120 -D MAXACTION=20000 -D
>> MAXTRACE=50 -D MAXSTRINGLEN=1024 -D MAXBACKTRACE=100 -x 25017 a.stp
>> --vp 00001 > a.out
>>
>>There is an error:
>> WARNING: missing unwind/symbol data for module
>> 'stap_97bdcbebec34bca89d728c7b361aa64_24788'
>> WARNING: missing unwind/symbol data for module 'uprobes'
>> Pass 5: starting run.
>> ERROR: probe timer.profile registration error (rc -16)
>>
>> The stap file as:
>>global s;
>> global quit = 0;
>>
>> probe timer.profile {
>> if (pid() == target()) {
>> if (quit) {
>> foreach (i in s-) {
>> print_ustack(i);
>> printf("\t%d\n", @count(s[i]));
>> }
>> exit()
>> } else {
>> s[ubacktrace()] <<< 1;
>> }
>> }
>> }
>>
>> probe timer.s(20) {
>> quit = 1
>> }
>>
>>Can you help me find what happened and what should I do to resolve it?
>>Thanks very much.
>>
>>Best Wishes,
>>Wenhua
>