This is the mail archive of the
mailing list for the systemtap project.
Re: [Ltt-dev] LTTng 0.10.0-pre23 (fix)
- From: David Smith <dsmith at redhat dot com>
- To: Mike Mason <mmlnx at us dot ibm dot com>, Mathieu Desnoyers <compudj at krystal dot dyndns dot org>
- Cc: ltt-dev at shafik dot org, SystemTAP <systemtap at sources dot redhat dot com>
- Date: Thu, 15 Nov 2007 16:24:01 -0600
- Subject: Re: [Ltt-dev] LTTng 0.10.0-pre23 (fix)
- References: <20071112001002.GA15942@Krystal> <20071112182748.GB2602@Krystal> <20071113055148.GA27143@Krystal> <473A3C90.firstname.lastname@example.org>
Mike Mason wrote:
> Mathieu Desnoyers wrote:
>> * Mathieu Desnoyers (email@example.com) wrote:
>>> * Mathieu Desnoyers (firstname.lastname@example.org) wrote:
>>>> I just released lttng 0.10.0-pre22 for Linux 2.6.24-rc2, which adds
>>>> support for multiple callbacks connected to a single marker. I make
>>>> extensive use the kernel RCU mechanism so batch connexion of probes to
>>>> different markers can be done as quickly as possible, requiring to wait
>>>> for quiescent state only when necessary. It proves to be important when
>>>> connecting probes on busy systems, where waiting for ~50
>>>> synchronize_sched() could take about 1-2 minutes.
>>> Actually this release is pre21, not pre22.
>> LTTng 0.10.0-pre23 fixes a bug in an inaccurate assumption that a
>> function pointer is always aligned on (at least) 2 bytes boundaries.
>> It's not on some architectures.
> I tested your changes on x86_64 using multiple instances of the
> probe-example code. Everything seems to work fine. The code itself
> looks fine, too, though I'm no RCU expert. The SystemTap support for
> markers will have to change again since the register and unregister
> interfaces have changed. I also noticed the arm and disarm functions
> are gone.
Systemtap has been updated to work with latest LTTNG patch
patch-2.6.24-rc2-lttng-0.10-pre23.tar.bz2, with one exception.
Mathieu, in samples/markers/probe_example.c, you've got:
probe_subsystem_eventb(void *probe_data, void *call_data,
const char *format, va_list *args) __attribute__((aligned(2)));
However, when I try to compile that (on fedora 7) I get:
probe-example.c:25: error: alignment may not be specified for
Of course removing the '__attribute__((aligned(2)))' makes it work
correctly. Am I missing something here?