All of lore.kernel.org
 help / color / mirror / Atom feed
From: Genevieve Bastien via lttng-dev <lttng-dev@lists.lttng.org>
To: lttng-dev@lists.lttng.org
Subject: Re: Correctly using callstack-user context
Date: Wed, 13 May 2020 10:02:04 -0400	[thread overview]
Message-ID: <bdeb584b-7c42-9e26-ce10-a1b008212541@versatic.net> (raw)
In-Reply-To: <CAAS9dobxi52FyWn=9zVDkMMpmZztc1Q1msdiErMKhkDEYCtqCA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 1456 bytes --]

Hi Christophe,

On 5/13/20 9:42 AM, Christophe Bédard via lttng-dev wrote:
>
> On Tue, 12 May 2020 at 08:27, Mathieu Desnoyers
> <mathieu.desnoyers@efficios.com
> <mailto:mathieu.desnoyers@efficios.com>> wrote:
>
>     How does your test program issue the system call ? Is it directly
>     with syscall() (see syscall(2) man page), or
>     does it call into libc ? Is your entire libc compiled with
>     -fno-omit-frame-pointer ?
>
>
> Indirectly, through libc/libstdc++. We use the default system libs
> (which I assume use -O, which in turn implies -fomit-frame-pointer).
>  
>
>     As soon as one library in the chain to the system call is compiled
>     without frame pointers, this is where the
>     stack walk stops. This is usually libc.
>
>
> I see. Thanks for the information. Not sure we want to ship a custom
> libc unfortunately.
>
> Related question: how feasible would adding the callstack-user context
> to userspace events be? If it is feasible, is such a feature planned?

We had a very very experimental branch with it, using backtrace first,
then unwind. But it is not suggested, not performant. It's far from the
correct desired implementation, for which Mathieu could give more details.

It works, but not to be used in production. Students have used it in the
lab for some specific use case prototyping. I won't share the branch
here, but if you wish to try, let me know.

Geneviève



[-- Attachment #1.2: Type: text/html, Size: 3276 bytes --]

[-- Attachment #2: Type: text/plain, Size: 156 bytes --]

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

WARNING: multiple messages have this Message-ID
From: Genevieve Bastien via lttng-dev <lttng-dev@lists.lttng.org>
To: lttng-dev@lists.lttng.org
Subject: Re: [lttng-dev] Correctly using callstack-user context
Date: Wed, 13 May 2020 10:02:04 -0400	[thread overview]
Message-ID: <bdeb584b-7c42-9e26-ce10-a1b008212541@versatic.net> (raw)
Message-ID: <20200513140204.wv2d2vM8fYlsWZYn-KChQ5BqcXK3V3B-6eGE2INacDo@z> (raw)
In-Reply-To: <CAAS9dobxi52FyWn=9zVDkMMpmZztc1Q1msdiErMKhkDEYCtqCA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 1456 bytes --]

Hi Christophe,

On 5/13/20 9:42 AM, Christophe Bédard via lttng-dev wrote:
>
> On Tue, 12 May 2020 at 08:27, Mathieu Desnoyers
> <mathieu.desnoyers@efficios.com
> <mailto:mathieu.desnoyers@efficios.com>> wrote:
>
>     How does your test program issue the system call ? Is it directly
>     with syscall() (see syscall(2) man page), or
>     does it call into libc ? Is your entire libc compiled with
>     -fno-omit-frame-pointer ?
>
>
> Indirectly, through libc/libstdc++. We use the default system libs
> (which I assume use -O, which in turn implies -fomit-frame-pointer).
>  
>
>     As soon as one library in the chain to the system call is compiled
>     without frame pointers, this is where the
>     stack walk stops. This is usually libc.
>
>
> I see. Thanks for the information. Not sure we want to ship a custom
> libc unfortunately.
>
> Related question: how feasible would adding the callstack-user context
> to userspace events be? If it is feasible, is such a feature planned?

We had a very very experimental branch with it, using backtrace first,
then unwind. But it is not suggested, not performant. It's far from the
correct desired implementation, for which Mathieu could give more details.

It works, but not to be used in production. Students have used it in the
lab for some specific use case prototyping. I won't share the branch
here, but if you wish to try, let me know.

Geneviève



[-- Attachment #1.2: Type: text/html, Size: 3276 bytes --]

[-- Attachment #2: Type: text/plain, Size: 156 bytes --]

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

  reply	other threads:[~2020-05-13 14:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-11 21:09 Christophe Bédard via lttng-dev
2020-05-11 21:09 ` [lttng-dev] " Christophe Bédard via lttng-dev
2020-05-12 12:27 ` Mathieu Desnoyers via lttng-dev
2020-05-12 12:27   ` [lttng-dev] " Mathieu Desnoyers via lttng-dev
2020-05-13 13:42   ` Christophe Bédard via lttng-dev
2020-05-13 13:42     ` [lttng-dev] " Christophe Bédard via lttng-dev
2020-05-13 14:02     ` Genevieve Bastien via lttng-dev [this message]
2020-05-13 14:02       ` Genevieve Bastien via lttng-dev
2020-05-13 15:34       ` Christophe Bédard via lttng-dev
2020-05-13 15:34         ` [lttng-dev] " Christophe Bédard via lttng-dev

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=bdeb584b-7c42-9e26-ce10-a1b008212541@versatic.net \
    --to=lttng-dev@lists.lttng.org \
    --cc=gbastien@versatic.net \
    --subject='Re: Correctly using callstack-user context' \
    /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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.