[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <4445e941-551e-881f-c519-db82ed9b9b5c@linux.ibm.com>
Date: Tue, 21 Aug 2018 17:28:26 +0530
From: Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
To: "Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>,
Song Liu <liu.song.a23@...il.com>
Cc: acme@...nel.org, alexander.shishkin@...ux.intel.com,
Alexis Berlemont <alexis.berlemont@...il.com>,
ananth@...ux.vnet.ibm.com, jolsa@...hat.com,
linux-arm-kernel@...ts.infradead.org, linux@...linux.org.uk,
open list <linux-kernel@...r.kernel.org>,
linux-mips@...ux-mips.org, mhiramat@...nel.org, mingo@...hat.com,
namhyung@...nel.org, Oleg Nesterov <oleg@...hat.com>,
paul.burton@...s.com, Peter Zijlstra <peterz@...radead.org>,
ralf@...ux-mips.org, Steven Rostedt <rostedt@...dmis.org>,
Srikar Dronamraju <srikar@...ux.vnet.ibm.com>,
Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
Subject: Re: [PATCH v9 0/4] Uprobes: Support SDT markers having reference
count (semaphore)
On 08/21/2018 01:04 PM, Naveen N. Rao wrote:
> Song Liu wrote:
>> I am testing the patch set with the following code:
>>
>> #include <stdio.h>
>> #include <unistd.h>
>>
>> volatile short semaphore = 0;
>>
>> int for_uprobe(int c)
>> {
>> printf("%d\n", c + 10);
>> return c + 1;
>> }
>>
>> int main(int argc, char *argv[])
>> {
>> for_uprobe(argc);
>> while (1) {
>> sleep(1);
>> printf("semaphore %d\n", semaphore);
>> }
>> }
>>
>> I created a uprobe on function for_uprobe(), that uses semaphore as
>> reference counter:
>>
>> echo "p:uprobe_1 /root/a.out:0x49a(0x1036)" >> uprobe_events
>
> Is that even valid? That _looks_ like a semaphore, but I'm not quite sure that it qualifies as an _SDT_ semaphore. Do you see this issue if you instead use the macros provided by <sys/sdt.h> to create SDT markers?
>
Right. By default SDT reference counters(semaphore) goes into .probes
section:
[25] .probes PROGBITS 000000000060102c 00102c 000004 00 WA 0 0 2
which has PROGBITS set. So this works fine. And there are many other
things which are coded into <sys/sdt.h>. So the official way to use
SDT markers should be through that.
Ravi
Powered by blists - more mailing lists