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: Matching function parameters and corresponding return value


Sylvain Fourmanoit ??:
Hi all,

I would like to watch calls to a preemptible function such as sys_open():
ideally, I would like to know both the tentatively accessed files and the success (or not) of the various calls.


But I don't see how to do this: of course, I can without problem register a jprobe and a kretprobe on sys_open(), both how do I correlate pairs of probe calls reliably? Or is it just the wrong approach?

Any insight on how to do this, either with SystemTap or directly with Kprobes would be really appreciated!

Although some syscalls are preemptible, but you can still correlate the pairs of entry/return of a syscall by tid(task->pid). e.g:
TID(task->pid) Syscall
1122 sys_open.entry
(preempted by foo()) 223 foo.entry
...
223 foo.return
1122 sys_open.return
So what you can do is just to search the sys_open.return with the same tid and skip all the calls met during the search.


- Guanglei


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