Messages in this thread | | | Subject | Re: [RFC 0/4] trace_uprobe: Support SDT markers having semaphore | From | Ravi Bangoria <> | Date | Thu, 1 Mar 2018 11:02:07 +0530 |
| |
On 02/28/2018 07:55 PM, Masami Hiramatsu wrote: > Hi Ravi, > > Thank you for your great work!
Thanks Masami.
> On Wed, 28 Feb 2018 13:23:41 +0530 > Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> wrote: > >> Userspace Statically Defined Tracepoints[1] are dtrace style markers >> inside userspace applications. These markers are added by developer at >> important places in the code. Each marker source expands to a single >> nop instruction in the compiled code but there may be additional >> overhead for computing the marker arguments which expands to couple of >> instructions. If this computaion is quite more, execution of it can be >> ommited by runtime if() condition when no one is tracing on the marker: ... >> >> Semaphore offset is 0x10036. I don't have educated 'perf probe' >> about semaphore. So instead of using 'perf probe' command, I'm >> manually adding entry in the <tracefs>/uprobe_events file. > Ok, it is easy to pass semaphore address via perf probe :)
Yes, it should be fairly easy to parse semaphore at buildid-cache time. Will add a patch for that.
> >> Special char * denotes semaphore offset. >> >> >> # echo "p:sdt_tick/loop2 /tmp/tick:0x6e4 *0x10036" > uprobe_events > IMHO, this syntax is no good, separate with space is only for arguments. > Since the semaphore is per-probe-point based, that should be specified with probe point. > (there are no 2 or more semaphores on 1 event, are there?) > So something like > > # echo "p:sdt_tick/loop2 /tmp/tick:0x6e4(0x10036)" > uprobe_events
This is great suggestion. Will change it.
Please review patch 3 and 4 which contains actual implementation.
Thanks for the review, Ravi
| |