linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hemant Kumar <hemant@linux.vnet.ibm.com>
To: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: "linux-perf-use." <linux-perf-users@vger.kernel.org>
Subject: Re: perf user SDT markers
Date: Tue, 14 Apr 2015 15:55:44 +0530	[thread overview]
Message-ID: <552CEB28.80704@linux.vnet.ibm.com> (raw)
In-Reply-To: <CAE40pde4qwGdz0pGocxMkieF6xaS2nizyehc-GDQ4J1+K_KeyQ@mail.gmail.com>

Hi Brendan,

Thanks for the data.

On 04/13/2015 10:49 PM, Brendan Gregg wrote:
> G'Day Hemant,
>
> Thanks for testing; here's how I compiled node.js:
>
> # apt-get install -y systemtap-sdt-dev            # provides "dtrace"
> # git clone --depth 1 https://github.com/joyent/node
> # cd node
> # ./configure --with-dtrace
> # make

Thanks, I was able to see the error in my case too.
Will look into this as to why its failing to record on these using perf 
record -e "%node:gc__done", even after it creates an entry into the 
uprobe_events file :

# cat /sys/kernel/debug/tracing/uprobe_events
p:node/gc__done /home/hemant/node/out/Release/node:0x000000000081d354

> node readelf:
>
> # readelf -n node
>
> Notes at offset 0x00000254 with length 0x00000020:
>    Owner                 Data size    Description
>    GNU                  0x00000010    NT_GNU_ABI_TAG (ABI version tag)
>      OS: Linux, ABI: 2.6.24
>
> Notes at offset 0x00000274 with length 0x00000024:
>    Owner                 Data size    Description
>    GNU                  0x00000014    NT_GNU_BUILD_ID (unique build ID bitstring)
>      Build ID: 85dd5ef00ffde124f220b94c8a2b552d9274a89f
>
> Notes at offset 0x00c45fd8 with length 0x000004e4:
>    Owner                 Data size    Description
>    stapsdt              0x0000003c    NT_STAPSDT (SystemTap probe descriptors)
>      Provider: node
>      Name: gc__start
>      Location: 0x0000000000bf7894, Base: 0x0000000000f252de, Semaphore:
> 0x0000000001245fa8
>      Arguments: 4@%esi 4@%edx 8@%rdi
>    stapsdt              0x0000003a    NT_STAPSDT (SystemTap probe descriptors)
>      Provider: node
>      Name: gcstart
>      Location: 0x0000000000bf7895, Base: 0x0000000000f252de, Semaphore:
> 0x0000000001245faa
>      Arguments: 4@%esi 4@%edx 8@%rdi
>    stapsdt              0x0000003b    NT_STAPSDT (SystemTap probe descriptors)
>      Provider: node
>      Name: gc__done
>      Location: 0x0000000000bf78a4, Base: 0x0000000000f252de, Semaphore:
> 0x0000000001245fac
>      Arguments: 4@%esi 4@%edx 8@%rdi
>    stapsdt              0x0000005c    NT_STAPSDT (SystemTap probe descriptors)
> [...etc...]
>
> (the "gcstart" probe is one I added to test the underscore theory.)

On a separate issue, all the SDT markers here are using semaphore. And 
there is no support for markers with semaphores currently. Here is some 
old discussion on this:
https://sourceware.org/ml/systemtap/2013-q3/msg00236.html

We need to discuss this issue in more detail and find out a way to 
support those too.
So, even if the error wasn't being shown with the current patchset, perf 
wouldn't record any hit on the markers.

> Here's also the event files:
>
> # ls /sys/kernel/debug/tracing/events/node/
> enable        gc__start_11  gc__start_2  gcstart_5    http__server__request
> filter        gcstart_1_1   gcstart_2    gc__start_6  http__server__request_1
> gcstart       gc__start_12  gc__start_3  gcstart_6    http__server__request_2
> gc__start     gc__start_13  gcstart_3    gc__start_7  http__server__request_3
> gc__start_1   gc__start_14  gc__start_4  gcstart_7    http__server__request_4
> gcstart_1     gc__start_15  gcstart_4    gc__start_8  net__server__connection
> gc__start_10  gc__start_16  gc__start_5  gc__start_9  net__server__connection_1
>
> This is after several iterations of --add and --del. Something seems
> to be going wrong there. Thanks,

This is because perf is able to make an entry into the uprobe_events 
file, but since its throwing an error just after this, its not deleting 
that entry from the uprobe_events (which will delete the corresponding 
events from /sys/kernel/debug/tracing/events/node too).
Will certainly look into this.

> [SNIP]
> --
> To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

-- 
Thanks,
Hemant Kumar

      reply	other threads:[~2015-04-14 10:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-12  2:13 perf user SDT markers Brendan Gregg
2015-04-12 20:05 ` Brendan Gregg
2015-04-13  9:27   ` Hemant Kumar
2015-04-13 17:19     ` Brendan Gregg
2015-04-14 10:25       ` Hemant Kumar [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=552CEB28.80704@linux.vnet.ibm.com \
    --to=hemant@linux.vnet.ibm.com \
    --cc=brendan.d.gregg@gmail.com \
    --cc=linux-perf-users@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).