This is the mail archive of the
systemtap@sourceware.org
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.2000607@us.ibm.com>
Mike Mason wrote:
> Mathieu Desnoyers wrote:
>> * Mathieu Desnoyers (compudj@krystal.dyndns.org) wrote:
>>> * Mathieu Desnoyers (compudj@krystal.dyndns.org) wrote:
>>>> Hi,
>>>>
>>>> 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:
===
void
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
‘probe_subsystem_eventb’
===
Of course removing the '__attribute__((aligned(2)))' makes it work
correctly. Am I missing something here?
--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)