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: Linux kernel marker questions


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


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