Linux kernel marker questions
Mike Mason
mmlnx@us.ibm.com
Thu May 24 13:59:00 GMT 2007
David Smith wrote:
> Mike Mason wrote:
>> David,
>>
>> Is there enough marker support in CVS now that we can write scripts
>> against it? I tried using the latest CVS against a kernel with a few
>> markers, but I'm seeing errors.
>>
>> Here's the script:
>> global sem_up_cnt
>> probe kernel.mark("sem_up") { sem_up_cnt++ }
>> probe end { printf("sem_up_cnt = %d\n", sem_up_cnt)}
>>
>> Here's the marker I'm trying to access in __up() in semaphore-sleepers.c:
>>
>> MARK(sem_down, "%ul", (unsigned long) sem);
>>
>> Here are the errors I'm seeing:
>>
>> semantic error: bad __markers_string section?
>> semantic error: no match for probe point while resolving probe point
>> kernel.mark("sem_up")
>>
>> Should this work yet?
>
> Yes it should work - depending on which version of Mathieu's patches
> you've got. I've bet we've got differing versions if you are getting
> the "bad __markers_string section" message. I've been using the version
> of Mathieu's patches that Andrew Morton has. I can send you a copy of
> the patches I've been using if you'd like.
I'm using a version of the Andrew's patches, but perhaps not the latest. Please send me what you're using.
>
> One more thing - your marker is called "sem_down", but you look to be
> putting a probe on "sem_up"...
>
Oops, cut-and-paste error. I do have a "sem_up" marker as well.
BTW, what data can be accessed in a SystemTap marker probe handler? Can it access the data defined by the marker or any local or global variables?
Thanks,
Mike
More information about the Systemtap
mailing list