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