From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26518 invoked by alias); 12 Feb 2013 19:56:28 -0000 Received: (qmail 26508 invoked by uid 22791); 12 Feb 2013 19:56:27 -0000 X-SWARE-Spam-Status: No, hits=-6.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_SPAMHAUS_DROP,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 Feb 2013 19:56:19 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r1CJuBKF026927 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 12 Feb 2013 14:56:12 -0500 Received: from t510.usersys.redhat.com (dhcp-10-15-1-83.hsv.redhat.com [10.15.1.83]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r1CJuA7G022359 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Tue, 12 Feb 2013 14:56:11 -0500 Message-ID: <511A9E5A.4010303@redhat.com> Date: Tue, 12 Feb 2013 19:56:00 -0000 From: David Smith User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: LTTNG Dev CC: Systemtap List Subject: Using lttng-ust's libringbuffer outside lttng-ust Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2013-q1/txt/msg00124.txt.bz2 Over in systemtap land, we're working on implementing a pure userspace backend, using a project called dyninst (). As part of this work, we need to implement a data channel between systemtap and the target executable(s). Most of the data (print statement output) flows from probes run in the target back to systemtap. There is also a need for a control channel the flows from systemtap to the systemtap runtime present in the target. I'm looking into the possibility of using libringbuffer from lttng-ust, which seems like it might fit our needs. Based on my description above (feel free to ask for more detail), does using libringbuffer make sense? 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've also looked through the test programs in 'lttng-ust/tests' hoping to find a test for just basic libringbuffer functionality (a standalone producer/consumer), without much luck. (The code in 'ust-basic-tracing' and 'ust-multi-test' probably comes the closest.) I started trying to write such a test, but then realized it made better sense to ask here first. 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). A bit of work would be needed here, since while libringbuffer is mostly self-contained, there is some use of code from 'lttng-ust/lttng-ust-comm' and 'lttng-ust/snprintf' from 'lttng-ust/libringbuffer'. Thanks for the help. -- David Smith dsmith@redhat.com Red Hat http://www.redhat.com 256.217.0141 (direct) 256.837.0057 (fax)