Script with static probe point throws error in Pass 3
beginner966
nitin966@gmail.com
Wed Jan 21 10:13:00 GMT 2009
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-tp21528274p21576382.html
Sent from the Sourceware - systemtap mailing list archive at Nabble.com.
More information about the Systemtap
mailing list