All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Babeux <christian.babeux@efficios.com>
To: David Smith <dsmith@redhat.com>
Cc: lttng-dev@lists.lttng.org, systemtap@sourceware.org
Subject: Re: [lttng-dev] Using lttng-ust's libringbuffer outside lttng-ust
Date: Fri, 15 Feb 2013 15:36:11 -0500	[thread overview]
Message-ID: <CAGDH53=8kL0oXWZ0Xo73-1EviVbheU0t9fXuzSt05ZCSqVzH_w@mail.gmail.com> (raw)
In-Reply-To: <511A9E5A.4010303@redhat.com>

Hi David,

> Over in systemtap land, we're working on implementing a pure userspace
> backend, using a project called dyninst (<http://www.dyninst.org/>).

This project looks very interesting!

> Assuming it does make sense, I could use some help. Is there any
> documentation that I've missed somewhere that describes libringbuffer in
> any detail?

I found some old presentation that Mathieu did a Linuxcon in 2010 [1].
The presentation describe the unified kernel ringbuffer on which the
user space one is based. I'm afraid that if you want up-to-date
documentation, the source code will be the best place to look.

> The next question would be what is the best way of using libringbuffer
> outside lttng-ust. One (not great) possibility would be to just copy the
> code into systemtap. Of course the problem there is keeping the code up
> to date with changes in lttng-ust. The next possibility would be to make
> it a separate project (more like userspace-rcu).

Splitting libringbuffer from the UST tree right now would prove to be
quite a challenge. We would need to expose an API to the "clients" of
the ringbuffer. Currently there are two levels of abstraction that one
can use with the ringbuffer: a "high-level" one where you use a
predefined "client" with the associated performance degradation and a
"low-level" one where you know exactly which kind of "client" you are
using with the associated fast-path inlined.

We would need to discuss which level of abstraction we expose to the
user: a generic one or "N apis" for the different low-level "clients".

With that said, I'm curious about which specific features of Dyninst
SystemTAP will be using and also do you think that it would be
possible to integrate Dyninst as an additional instrumentation source
into lttng-ust?

Thanks,

Christian

[1] -  A new unified Lockless Ring Buffer library for efficient kernel tracing:
        http://www.efficios.com/pub/linuxcon2010-tracingsummit/presentation-linuxcon-2010-tracing-mini-summit.pdf

  reply	other threads:[~2013-02-15 20:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-12 19:56 Using lttng-ust's libringbuffer outside lttng-ust David Smith
2013-02-15 20:36 ` Christian Babeux [this message]
2013-02-16  3:43   ` [lttng-dev] " Josh Stone
2013-02-25 19:07   ` David Smith
2013-02-25 19:07   ` David Smith

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='CAGDH53=8kL0oXWZ0Xo73-1EviVbheU0t9fXuzSt05ZCSqVzH_w@mail.gmail.com' \
    --to=christian.babeux@efficios.com \
    --cc=dsmith@redhat.com \
    --cc=lttng-dev@lists.lttng.org \
    --cc=systemtap@sourceware.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 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.