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: Script with static probe point throws error in Pass 3


This is the script which I used:

probe kernel.mark("migrate_task_done")
{
                printf("\nSuccess: Task successfully migrated\n\n");
}


And this is its corresponding C file generated by stap: 
http://www.nabble.com/file/p21581939/stap_file stap_file 

beginner966 wrote:
> 
> 
> 
> This is the declaration as given in the linux/marker.h file
> 
> /*
>  * Connect a probe to a marker.
>  * private data pointer must be a valid allocated memory address, or NULL.
>  */
> extern int marker_probe_register(const char *name, const char *format,
>                                 marker_probe_func *probe, void
> *probe_private);
> 
> /*
>  * Returns the private data given to marker_probe_register.
>  */
> extern int marker_probe_unregister(const char *name,
>         marker_probe_func *probe, void *probe_private);
> 
> 
> These are the 4 different marker that I'd put up in kernel/sched.c
> 
> 1) if (unlikely(cpu_is_offline(dest_cpu)))
>         {
>                 trace_mark(__migrate_task_cpu_offline,"CPU:%d
> offline",dest_cpu);
>                 return ret;
>         }
> 
> 2) if (task_cpu(p) != src_cpu)
>         {
>                 trace_mark(__migrate_task_already_moved,"Already moved to
> CPU:%d",dest_cpu);
>                 goto done;
>         }
> 
> 3) if (!cpu_isset(dest_cpu, p->cpus_allowed))
>         {
>                 trace_mark(__migrate_task_affinity_changed,"CPU
> Mask:%lu",(unsigned long)p->cpus_allowed.bits[0]);
>                 goto fail;
>         }
> 4) set_task_cpu(p, dest_cpu);
>         trace_mark(migrate_task_done,"%s","Success");
> 
> 
> 
> David Smith-19 wrote:
>> 
>> beginner966 wrote:
>>> I got the following error while probing static probe points.
>>> 
>>> Pass 3: translated to C into
>>> "/tmp/stapS8IQsL/stap_ef975aa4108a2079c82c8d4c7d4fccaf_1986.c" in
>>> 1030usr/550sys/2102real ms.
>>> Running make -C "/lib/modules/2.6.26.5-rt9/build" M="/tmp/stapS8IQsL"
>>> modules >/dev/null
>>> cc1: warnings being treated as errors
>>> /tmp/stapS8IQsL/stap_ef975aa4108a2079c82c8d4c7d4fccaf_1986.c: In
>>> function
>>> Ãsystemtap_module_initÃ:
>>> /tmp/stapS8IQsL/stap_ef975aa4108a2079c82c8d4c7d4fccaf_1986.c:853:
>>> warning:
>>> passing argument 3 of Ãmarker_probe_registerà from incompatible pointer
>>> type
>>> /tmp/stapS8IQsL/stap_ef975aa4108a2079c82c8d4c7d4fccaf_1986.c:857:
>>> warning:
>>> passing argument 2 of Ãmarker_probe_unregisterà from incompatible
>>> pointer
>>> type
>>> /tmp/stapS8IQsL/stap_ef975aa4108a2079c82c8d4c7d4fccaf_1986.c: In
>>> function
>>> Ãsystemtap_module_exitÃ:
>>> /tmp/stapS8IQsL/stap_ef975aa4108a2079c82c8d4c7d4fccaf_1986.c:945:
>>> warning:
>>> passing argument 2 of Ãmarker_probe_unregisterà from incompatible
>>> pointer
>>> type
>>> 
>>> 
>>> Please suggest some solutions. Thanks.
>> 
>> Hmm.  I can't think of why we'd have trouble calling
>> marker_probe_register()/marker_probe_unregister().  The calling
>> conventions for those haven't changed that I can recall.
>> 
>> Can you show me the declarations for those two functions from
>> linux/marker.h?  They should look like:
>> 
>> ----
>> extern int marker_probe_register(const char *name, const char *format,
>>                       marker_probe_func *probe, void *probe_private);
>> 
>> extern int marker_probe_unregister(const char *name,
>>         marker_probe_func *probe, void *probe_private);
>> ----
>> 
>> -- 
>> David Smith
>> dsmith@redhat.com
>> Red Hat
>> http://www.redhat.com
>> 256.217.0141 (direct)
>> 256.837.0057 (fax)
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Script-with-static-probe-point-throws-error-in-Pass-3-tp21528274p21581939.html
Sent from the Sourceware - systemtap mailing list archive at Nabble.com.


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