[ltt-dev] Problems with LTT Probe Install (Kernel Panic)
Mathieu Desnoyers
compudj at krystal.dyndns.org
Wed Jun 4 15:54:19 EDT 2008
* Thomas Besemer (tbesemer at thomas-iv.com) wrote:
> Hi Mathieu -
>
>
>
> Thanks for your fast response!
>
>
>
> I pulled 2.6.25.4 from kernel.org, and tried both
>
> of these patches on it:
>
>
>
> patch-2.6.25.4-lttng-0.10-pre55.tar.bz2
>
Hrm, patch-2.6.25.4-lttng-0.10-pre55.tar.bz2 should apply flawlessly on
a 2.6.25.4 kernel.
e.g. :
cd /tmp
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.4.tar.bz2
wget http://ltt.polymtl.ca/lttng/patch-2.6.25.4-lttng-0.10-pre55.tar.bz2
bzip2 -cd linux-2.6.25.4.tar.bz2 | tar xvof -
cd linux-2.6.25.4
bzip2 -cd ../patch-2.6.25.4-lttng-0.10-pre55.tar.bz2 | tar xvof -
ln -s patch-2.6.25.4-lttng-0.10-pre55 patches
quilt push -a
works for me...
Mathieu
> patch-2.6.25-rc9-git1-lttng-0.10-pre52.tar.bz2
>
>
>
> Both patches had quite a few failed areas, so I
>
> am wondering if I have the wrong Kernel???
>
>
>
> Attached is the output from pre52 onto 2.6.25.4
>
> tree, if it helps. Also, this will not compile,
>
> fails in:
>
>
>
> make[1]: *** [arch/x86/kernel/alternative.o] Error 1
>
> make: *** [arch/x86/kernel] Error 2
>
>
>
> I'm happy to try anything you suggest; I just
>
> didn't want to start fixing code problems until
>
> I was sure I was using the right Kernel.
>
>
>
> Thanks for your help.
>
>
>
> tom
>
>
>
>
>
> ------- Original Message -------
>
> On 6/3/2008 12:38 PM Mathieu Desnoyers wrote:
>
>
>
> Hi Thomas,
>
>
>
> I just re-installed a new ML server, sorry for the delay.
>
>
>
> 2.6.22-rc4-mm2 is a rather "test-only" release.
>
>
>
> Can you try with the latest versions ? 2.6.25.4 and follow the
>
> compatibility list on ltt.polymtl.ca
>
>
>
> Thanks,
>
>
>
> Mathieu
>
>
>
>
>> Hi -
>
>
>
>
>> I am currently in the process of trying to get the
>
>
>> LTTng going, but am having some trouble with Probe
>
>
>> installs that seems rather basic/fundamental to
>
>
>> the operation. My versions of everything are:
>
>
>
>
>> Linux 2.6.22.23 SMP x86_64
>
>
>
>
>> patch-2.6.22-rc4-mm2-lttng-0.9.10
>
>
>
>
>> ltt-control-0.42-16072007
>
>
>
>
>> LinuxTraceToolkitViewer-0.8.84-12082007
>
>
>
>
>> My Kernel configuration is:
>
>
>
>
>> #
>
>
>> # Instrumentation Support
>
>
>> #
>
>
>> # CONFIG_PROFILING is not set
>
>
>> CONFIG_KPROBES=y
>
>
>> # CONFIG_IMMEDIATE is not set
>
>
>> CONFIG_MARKERS=y
>
>
>> CONFIG_LTT=y
>
>
>> CONFIG_LTT_TRACER=y
>
>
>> CONFIG_LTT_RELAY=y
>
>
>> CONFIG_LTT_SERIALIZE=y
>
>
>> # CONFIG_LTT_ALIGNMENT is not set
>
>
>> # CONFIG_LTT_HEARTBEAT is not set
>
>
>> # CONFIG_LTT_TEST_TSC is not set
>
>
>> # CONFIG_LTT_USERSPACE_GENERIC is not set
>
>
>> CONFIG_LTT_NETLINK_CONTROL=y
>
>
>> CONFIG_LTT_STATEDUMP=y
>
>
>
>
>> #
>
>
>> # Probes
>
>
>> #
>
>
>> CONFIG_LTT_PROBE_CORE=m
>
>
>> CONFIG_LTT_PROBE_FS=m
>
>
>> CONFIG_LTT_PROBE_KERNEL=m
>
>
>> CONFIG_LTT_PROBE_ARCH=m
>
>
>> CONFIG_LTT_PROBE_MM=m
>
>
>> CONFIG_LTT_PROBE_NET=m
>
>
>> CONFIG_LTT_PROBE_LIST=m
>
>
>> CONFIG_LTT_PROBE_LOCKING=m
>
>
>> # CONFIG_LTT_PROBE_STACK is not set
>
>
>
>
>> During boot, I see the following messages:
>
>
>
>
>> LTT : ltt-facilities init
>
>
>> LTT : ltt-relay init
>
>
>> ltt-control init
>
>
>> LTT : ltt-facility-statedump init
>
>
>
>
>> Then, I tried to install <ltt-probe-core.ko>;
>
>
>> this gave me a Kernel Panic. I did some looking around,
>
>
>> commented out some areas of the code so that I learn a
>
>
>> few things, and found the following:
>
>
>
>
>> In <marker.c>, this is where the fault is occuring:
>
>
>
>
>> static struct marker_entry *_get_marker(const char *name)
>
>
>> {
>
>
>> struct hlist_node *node;
>
>
>> struct marker_entry *e;
>
>
>
>
>> hlist_for_each_entry(e, node, &marker_list, hlist)
>
>
>> printk( "_get_marker(): name %x, e-name %s\n",
>
>
>> name, e->name);
>
>
>>
>
>
>> /* if (!strcmp(name, e->name))
>
>
>> return e;
>
>
>> tbesemer
>
>
>> */
>
>
>>
>
>
>> return NULL;
>
>
>> }
>
>
>
>
>> Through the printk() I put in, instead of the strcmp(), I found
>
>
>> that "name" is passed in as NULL. More so, if you look at the
>
>
>> following dump from dmesg for <ltt-probe-kernel.ko>, you can
>
>
>> see not only is "name" NULL at times, but it looks like the same
>
>
>> stuff keeps getting operated on:
>
>
>
>
>> _get_marker(): name 8058a9c0, e-name kernel_process_signal
>
>
>> _get_marker(): name 8058a9c0, e-name kernel_process_wait
>
>
>> _get_marker(): name 8058a9c0, e-name kernel_process_free
>
>
>> _get_marker(): name 8058a9c0, e-name kernel_process_exit
>
>
>> _get_marker(): name 8058a9c0, e-name kernel_process_fork
>
>
>> _get_marker(): name 0, e-name kernel_irq_exit
>
>
>> _get_marker(): name 0, e-name kernel_irq_entry
>
>
>> _get_marker(): name 0, e-name kernel_module_free
>
>
>> _get_marker(): name 0, e-name kernel_module_load
>
>
>> _get_marker(): name 0, e-name kernel_kthread_stop_ret
>
>
>> _get_marker(): name 0, e-name kernel_kthread_stop
>
>
>> _get_marker(): name 0, e-name kernel_tasklet_high_exit
>
>
>> _get_marker(): name 0, e-name kernel_tasklet_high_entry
>
>
>> _get_marker(): name 0, e-name kernel_tasklet_low_exit
>
>
>> _get_marker(): name 0, e-name kernel_tasklet_low_entry
>
>
>> _get_marker(): name 0, e-name kernel_softirq_exit
>
>
>> _get_marker(): name 0, e-name kernel_softirq_entry
>
>
>> _get_marker(): name 0, e-name kernel_timer_timeout
>
>
>> _get_marker(): name 0, e-name kernel_timer_update_time
>
>
>> _get_marker(): name 0, e-name kernel_timer_set
>
>
>> _get_marker(): name 0, e-name kernel_timer_itimer_set
>
>
>> _get_marker(): name 0, e-name kernel_timer_itimer_expired
>
>
>> _get_marker(): name 0, e-name kernel_vprintk
>
>
>> _get_marker(): name 0, e-name kernel_printk
>
>
>> _get_marker(): name 0, e-name kernel_sched_schedule
>
>
>> _get_marker(): name 0, e-name kernel_sched_migrate_task
>
>
>> _get_marker(): name 0, e-name kernel_sched_wakeup_new_task
>
>
>> _get_marker(): name 0, e-name kernel_sched_try_wakeup
>
>
>> _get_marker(): name 0, e-name kernel_sched_wait_task
>
>
>> _get_marker(): name 0, e-name kernel_process_signal
>
>
>> _get_marker(): name 0, e-name kernel_process_wait
>
>
>> _get_marker(): name 0, e-name kernel_process_free
>
>
>> _get_marker(): name 0, e-name kernel_process_exit
>
>
>> _get_marker(): name 0, e-name kernel_process_fork
>
>
>> _get_marker(): name 802510f8, e-name kernel_irq_exit
>
>
>> _get_marker(): name 802510f8, e-name kernel_irq_entry
>
>
>> _get_marker(): name 802510f8, e-name kernel_module_free
>
>
>> _get_marker(): name 802510f8, e-name kernel_module_load
>
>
>> _get_marker(): name 802510f8, e-name kernel_kthread_stop_ret
>
>
>
>
>> [snip lot's of output until the end]
>
>
>
>
>> _get_marker(): name 0, e-name kernel_process_signal
>
>
>> _get_marker(): name 0, e-name kernel_process_wait
>
>
>> _get_marker(): name 0, e-name kernel_process_free
>
>
>> _get_marker(): name 0, e-name kernel_process_exit
>
>
>> _get_marker(): name 0, e-name kernel_process_fork
>
>
>> _get_marker(): name 802510f8, e-name kernel_irq_exit
>
>
>> _get_marker(): name 802510f8, e-name kernel_irq_entry
>
>
>> _get_marker(): name 802510f8, e-name kernel_module_free
>
>
>> _get_marker(): name 802510f8, e-name kernel_module_load
>
>
>> _get_marker(): name 802510f8, e-name kernel_kthread_stop_ret
>
>
>> _get_marker(): name 802510f8, e-name kernel_kthread_stop
>
>
>> _get_marker(): name 802510f8, e-name kernel_tasklet_high_exit
>
>
>> _get_marker(): name 802510f8, e-name kernel_tasklet_high_entry
>
>
>> _get_marker(): name 802510f8, e-name kernel_tasklet_low_exit
>
>
>> _get_marker(): name 802510f8, e-name kernel_tasklet_low_entry
>
>
>> _get_marker(): name 802510f8, e-name kernel_softirq_exit
>
>
>> _get_marker(): name 802510f8, e-name kernel_softirq_entry
>
>
>> _get_marker(): name 802510f8, e-name kernel_timer_timeout
>
>
>> _get_marker(): name 802510f8, e-name kernel_timer_update_time
>
>
>> _get_marker(): name 802510f8, e-name kernel_timer_set
>
>
>> _get_marker(): name 802510f8, e-name kernel_timer_itimer_set
>
>
>> _get_marker(): name 802510f8, e-name kernel_timer_itimer_expired
>
>
>> _get_marker(): name 802510f8, e-name kernel_vprintk
>
>
>> _get_marker(): name 802510f8, e-name kernel_printk
>
>
>> _get_marker(): name 802510f8, e-name kernel_sched_schedule
>
>
>> _get_marker(): name 802510f8, e-name kernel_sched_migrate_task
>
>
>> _get_marker(): name 802510f8, e-name kernel_sched_wakeup_new_task
>
>
>> _get_marker(): name 802510f8, e-name kernel_sched_try_wakeup
>
>
>> _get_marker(): name 802510f8, e-name kernel_sched_wait_task
>
>
>> _get_marker(): name 802510f8, e-name kernel_process_signal
>
>
>> _get_marker(): name 802510f8, e-name kernel_process_wait
>
>
>> _get_marker(): name 802510f8, e-name kernel_process_free
>
>
>> _get_marker(): name 802510f8, e-name kernel_process_exit
>
>
>> _get_marker(): name 802510f8, e-name kernel_process_fork
>
>
>> (END)
>
>
>
>
>> --
>
>
>> So, the summary is:
>
>
>
>
>> 1. I have applied the patch set. Some areas were fuzzy
>
>
>> patches, I have not looked at all those.
>
>
>> 2. Where the patch set FAILED, I resovled by hand.
>
>
>> 3. I configured/built Kernel, looks like LTT at Kernel
>
>
>> level is somewhat okay - does not crash Kernel.
>
>
>> 4. I start to add probes, and I get Kernel Panics because
>
>
>> of "name" being passed to _get_marker(const char *name)
>
>
>> is NULL.
>
>
>
>
>> All help appreciated - always willing to give back any changes I
>
>
>> come up with, and keep you in the loop of how it is working for
>
>
>> me.
>
>
>
>
>> Many thanks,
>
>
>
>
>> Tom
>
>
> --
>
> Mathieu Desnoyers
>
> OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
>
> can't find file to patch at input line 17
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |LTTng fix for PREEMPT_RT kernels
> |
> |Fix BUG in RT preempt kernel caused by spinlocks taken within preempt disable
> |region.
> |
> |Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
> |---
> | ltt/ltt-tracer.c | 5 +++--
> |---
> | ltt/ltt-tracer.c | 16 ++++++++++++++++
> | 1 file changed, 16 insertions(+)
> |
> |Index: linux-2.6-lttng/ltt/ltt-tracer.c
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/ltt-tracer.c 2008-03-26 09:57:45.000000000 -0400
> |+++ linux-2.6-lttng/ltt/ltt-tracer.c 2008-03-26 10:03:19.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file include/linux/stop_machine.h
> patching file kernel/stop_machine.c
> patching file arch/x86/kernel/vmlinux_32.lds.S
> patching file arch/x86/kernel/vmlinux_64.lds.S
> patching file drivers/input/input.c
> patching file include/asm-powerpc/cacheflush.h
> patching file arch/x86/kernel/alternative.c
> Hunk #1 succeeded at 13 with fuzz 1 (offset -2 lines).
> Hunk #2 FAILED at 504.
> Hunk #3 FAILED at 516.
> Hunk #4 FAILED at 542.
> 3 out of 4 hunks FAILED -- saving rejects to file arch/x86/kernel/alternative.c.rej
> patching file kernel/exit.c
> Hunk #1 succeeded at 488 (offset -2 lines).
> can't find file to patch at input line 382
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |There is a nasty (but rare, unless you use QEMU) race in
> |test_tsc_synchronization: If the slave CPU is stuck on the final loop in
> |test_sync and then gets distracted for a while (NMI watchdog or -that's
> |how I caught this- QEMU's SMP scheduler), the master could happen to set
> |wait_end_sync and, shortly after that, reset it again in the next main
> |loop. We thus end up with a deadlock.
> |
> |Patch below fixes this by synchronizing the master on the slave to have
> |left test_sync.
> |
> |Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
> |
> |---
> | ltt/ltt-test-tsc.c | 14 +++++++++++---
> | 1 file changed, 11 insertions(+), 3 deletions(-)
> |
> |Index: linux-2.6-lttng/ltt/ltt-test-tsc.c
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/ltt-test-tsc.c 2008-02-19 15:36:09.000000000 -0500
> |+++ linux-2.6-lttng/ltt/ltt-test-tsc.c 2008-02-19 15:47:00.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 2 out of 2 hunks ignored
> can't find file to patch at input line 436
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |LTTng - Fix RCU list iteration
> |
> |In ltt_exit() the ltt_traces_sem is taken and list_for_each_entry_rcu is
> |> used.
> |>
> |> (There is another problem with the code I mention above. It's also
> |> appear to modify the list inside _ltt_trace_destroy, but your not doing
> |> a "safe" list traversal. So it should be list_for_each_entry_safe_rcu)
> |>
> |
> |This point is good, will fix.
> |
> |Thanks to Daniel Walker (dwalker at mvista.com) for pointing this out.
> |
> |Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
> |---
> | ltt/ltt-tracer.c | 4 +++-
> | 1 file changed, 3 insertions(+), 1 deletion(-)
> |
> |Index: linux-2.6-lttng/ltt/ltt-tracer.c
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/ltt-tracer.c 2008-03-26 10:56:06.000000000 -0400
> |+++ linux-2.6-lttng/ltt/ltt-tracer.c 2008-03-26 11:01:16.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file arch/x86/kernel/alternative.c
> Hunk #1 FAILED at 511.
> 1 out of 1 hunk FAILED -- saving rejects to file arch/x86/kernel/alternative.c.rej
> patching file drivers/net/wan/hd6457x.c
> patching file arch/x86/kernel/entry_64.S
> patching file include/linux/immediate.h
> patching file include/linux/module.h
> patching file kernel/module.c
> Hunk #5 FAILED at 2047.
> 1 out of 6 hunks FAILED -- saving rejects to file kernel/module.c.rej
> patching file kernel/immediate.c
> patching file init/main.c
> patching file kernel/Makefile
> patching file include/asm-generic/vmlinux.lds.h
> patching file Documentation/immediate.txt
> can't find file to patch at input line 1469
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Immediate Values - Jump
> |
> |Adds a new imv_cond() macro to declare a byte read that is meant to be embedded
> |in unlikely(imv_cond(var)), so the kernel can dynamically detect patterns such
> |as mov, test, jne or mov, test, je and patch it with nops and a jump.
> |
> |Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
> |---
> | arch/x86/kernel/immediate.c | 399 +++++++++++++++++++++++++++++++++-------
> | include/asm-powerpc/immediate.h | 2
> | include/asm-x86/immediate.h | 34 +++
> | include/linux/immediate.h | 11 -
> | kernel/immediate.c | 6
> | 5 files changed, 377 insertions(+), 75 deletions(-)
> |
> |Index: linux-2.6-lttng/include/asm-x86/immediate.h
> |===================================================================
> |--- linux-2.6-lttng.orig/include/asm-x86/immediate.h 2008-04-16 17:14:54.000000000 -0400
> |+++ linux-2.6-lttng/include/asm-x86/immediate.h 2008-04-16 17:17:30.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 5 out of 5 hunks ignored
> can't find file to patch at input line 1541
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/arch/x86/kernel/immediate.c
> |===================================================================
> |--- linux-2.6-lttng.orig/arch/x86/kernel/immediate.c 2008-04-16 17:14:54.000000000 -0400
> |+++ linux-2.6-lttng/arch/x86/kernel/immediate.c 2008-04-16 18:20:08.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 6 out of 6 hunks ignored
> patching file include/linux/immediate.h
> Hunk #1 FAILED at 33.
> Hunk #2 succeeded at 61 (offset 8 lines).
> 1 out of 2 hunks FAILED -- saving rejects to file include/linux/immediate.h.rej
> patching file kernel/immediate.c
> Hunk #1 succeeded at 111 (offset 68 lines).
> can't find file to patch at input line 2061
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/include/asm-powerpc/immediate.h
> |===================================================================
> |--- linux-2.6-lttng.orig/include/asm-powerpc/immediate.h 2008-04-16 17:14:54.000000000 -0400
> |+++ linux-2.6-lttng/include/asm-powerpc/immediate.h 2008-04-16 17:17:30.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file init/Kconfig
> patching file include/asm-x86/kdebug.h
> patching file include/asm-x86/kprobes.h
> patching file arch/powerpc/kernel/immediate.c
> can't find file to patch at input line 2290
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/include/asm-powerpc/immediate.h
> |===================================================================
> |--- linux-2.6-lttng.orig/include/asm-powerpc/immediate.h 2008-03-03 10:23:54.000000000 -0500
> |+++ linux-2.6-lttng/include/asm-powerpc/immediate.h 2008-03-03 10:23:54.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 4 out of 4 hunks ignored
> patching file arch/powerpc/kernel/Makefile
> patching file include/asm-powerpc/immediate.h
> patching file arch/powerpc/Kconfig
> patching file kernel/immediate.c
> patching file kernel/module.c
> Hunk #1 succeeded at 2203 (offset -5 lines).
> patching file include/linux/module.h
> patching file include/asm-generic/vmlinux.lds.h
> patching file include/linux/immediate.h
> Hunk #2 succeeded at 84 (offset 8 lines).
> patching file init/main.c
> can't find file to patch at input line 2633
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/include/asm-x86/immediate.h
> |===================================================================
> |--- linux-2.6-lttng.orig/include/asm-x86/immediate.h 2008-04-16 11:24:03.000000000 -0400
> |+++ linux-2.6-lttng/include/asm-x86/immediate.h 2008-04-16 11:24:25.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 3 out of 3 hunks ignored
> patching file include/asm-powerpc/immediate.h
> patching file Documentation/immediate.txt
> patching file kernel/immediate.c
> patching file include/linux/immediate.h
> can't find file to patch at input line 2884
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Immediate Values - x86 Optimization NMI and MCE support
> |
> |x86 optimization of the immediate values which uses a movl with code patching
> |to set/unset the value used to populate the register used as variable source.
> |It uses a breakpoint to bypass the instruction being changed, which lessens the
> |interrupt latency of the operation and protects against NMIs and MCE.
> |
> |- More reentrant immediate value : uses a breakpoint. Needs to know the
> | instruction's first byte. This is why we keep the "instruction size"
> | variable, so we can support the REX prefixed instructions too.
> |
> |Changelog:
> |- Change the immediate.c update code to support variable length opcodes.
> |- Use text_poke_early with cr0 WP save/restore to patch the bypass. We are doing
> | non atomic writes to a code region only touched by us (nobody can execute it
> | since we are protected by the imv_mutex).
> |- Add x86_64 support, ready for i386+x86_64 -> x86 merge.
> |- Use asm-x86/asm.h.
> |- Change the immediate.c update code to support variable length opcodes.
> |- Use imv_* instead of immediate_*.
> |- Use kernel_wp_disable/enable instead of save/restore.
> |- Fix 1 byte immediate value so it declares its instruction size.
> |
> |Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
> |CC: Andi Kleen <ak at muc.de>
> |CC: "H. Peter Anvin" <hpa at zytor.com>
> |CC: Chuck Ebbert <cebbert at redhat.com>
> |CC: Christoph Hellwig <hch at infradead.org>
> |CC: Jeremy Fitzhardinge <jeremy at goop.org>
> |CC: Thomas Gleixner <tglx at linutronix.de>
> |CC: Ingo Molnar <mingo at redhat.com>
> |---
> | arch/x86/kernel/Makefile | 1
> | arch/x86/kernel/immediate.c | 291 ++++++++++++++++++++++++++++++++++++++++++++
> | arch/x86/kernel/traps_32.c | 10 -
> | include/asm-x86/immediate.h | 48 ++++++-
> | 4 files changed, 340 insertions(+), 10 deletions(-)
> |
> |Index: linux-2.6-lttng/include/asm-x86/immediate.h
> |===================================================================
> |--- linux-2.6-lttng.orig/include/asm-x86/immediate.h 2008-04-16 11:29:30.000000000 -0400
> |+++ linux-2.6-lttng/include/asm-x86/immediate.h 2008-04-16 12:01:55.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 6 out of 6 hunks ignored
> patching file arch/x86/kernel/traps_32.c
> patching file arch/x86/kernel/Makefile
> patching file arch/x86/kernel/immediate.c
> patching file include/asm-x86/immediate.h
> patching file arch/x86/Kconfig
> Hunk #1 succeeded at 23 with fuzz 2.
> patching file kernel/kprobes.c
> patching file include/linux/kprobes.h
> patching file arch/x86/kernel/kprobes.c
> patching file arch/ia64/kernel/kprobes.c
> patching file arch/powerpc/kernel/kprobes.c
> patching file arch/s390/kernel/kprobes.c
> patching file kernel/kprobes.c
> patching file include/linux/marker.h
> Hunk #2 succeeded at 43 with fuzz 2.
> Hunk #3 FAILED at 75.
> 1 out of 3 hunks FAILED -- saving rejects to file include/linux/marker.h.rej
> patching file kernel/marker.c
> Hunk #2 succeeded at 545 (offset 2 lines).
> Hunk #4 succeeded at 623 (offset 2 lines).
> patching file Documentation/markers.txt
> patching file kernel/module.c
> Hunk #1 FAILED at 2056.
> 1 out of 1 hunk FAILED -- saving rejects to file kernel/module.c.rej
> patching file kernel/marker.c
> Hunk #1 succeeded at 860 (offset 9 lines).
> patching file kernel/module.c
> Hunk #1 succeeded at 2598 (offset -44 lines).
> patching file include/linux/marker.h
> Hunk #1 succeeded at 143 (offset -21 lines).
> patching file include/linux/module.h
> Hunk #1 succeeded at 471 with fuzz 1 (offset -1 lines).
> patching file arch/sparc/Makefile
> patching file Makefile
> patching file include/linux/ltt-core.h
> patching file arch/x86/kernel/traps_32.c
> patching file arch/powerpc/kernel/traps.c
> patching file MAINTAINERS
> patching file ltt/ltt-core.c
> patching file ltt/ltt-heartbeat.c
> patching file arch/ppc/kernel/ppc_ksyms.c
> patching file kernel/irq/handle.c
> patching file arch/powerpc/kernel/irq.c
> patching file arch/powerpc/kernel/ppc_ksyms.c
> patching file arch/sh/kernel/sh_ksyms_32.c
> patching file kernel/fork.c
> can't find file to patch at input line 4694
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |The parser for /proc/ltt (*) is borken, at least the describing comment
> |and the actual implementation diverge and the latter is unhandy. Find a
> |rework of ltt-marker-control.c below. It implements the following
> |interface:
> |
> |connect <marker name> [<probe name> [compact|dynamic [<channel>]]]
> |disconnect <marker name> [<probe name>]
> |set_id <marker name> [<probe name>] compact|dynamic
> |set_channel <marker name> [<probe name>] <channel>
> |
> |If <probe name> is not given, the default probe is assumed.
> |
> |The patch also removes a few pointless "inline" attributes. The compiler
> |should be able to decide about the right way.
> |
> |Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
> |
> |
> |(*) Is /proc the right place for this thing at all? Shouldn't this be
> |debugfs as well?
> |
> |---
> | ltt/ltt-marker-control.c | 128 ++++++++++++++++++++---------------------------
> | 1 file changed, 57 insertions(+), 71 deletions(-)
> |
> |Index: b/ltt/ltt-marker-control.c
> |===================================================================
> |--- a/ltt/ltt-marker-control.c
> |+++ b/ltt/ltt-marker-control.c
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 7 out of 7 hunks ignored
> patching file include/linux/kernel.h
> patching file arch/arm/kernel/entry-common.S
> patching file arch/arm/kernel/process.c
> patching file arch/arm/kernel/ptrace.c
> patching file arch/arm/kernel/sys_arm.c
> patching file arch/arm/kernel/traps.c
> patching file fs/buffer.c
> patching file fs/compat.c
> patching file fs/ioctl.c
> patching file fs/open.c
> patching file fs/read_write.c
> patching file fs/select.c
> patching file fs/exec.c
> patching file arch/x86/kernel/process_32.c
> Hunk #1 succeeded at 386 (offset -25 lines).
> patching file arch/x86/kernel/sys_i386_32.c
> patching file arch/x86/kernel/traps_32.c
> Hunk #1 succeeded at 492 (offset 6 lines).
> Hunk #3 succeeded at 530 (offset 6 lines).
> Hunk #5 succeeded at 780 (offset 6 lines).
> Hunk #7 succeeded at 933 (offset 6 lines).
> Hunk #9 succeeded at 1103 (offset 6 lines).
> patching file arch/x86/kernel/entry_32.S
> patching file arch/x86/kernel/apic_32.c
> patching file arch/x86/kernel/cpu/mcheck/p4.c
> patching file arch/x86/kernel/smp_32.c
> patching file arch/x86/kernel/ptrace.c
> patching file arch/x86/mm/fault.c
> patching file ipc/msg.c
> patching file ipc/sem.c
> patching file ipc/shm.c
> patching file kernel/irq/handle.c
> Hunk #2 succeeded at 132 (offset 1 line).
> patching file kernel/itimer.c
> patching file kernel/kthread.c
> patching file kernel/lockdep.c
> patching file kernel/printk.c
> Hunk #3 succeeded at 686 (offset 13 lines).
> patching file kernel/sched.c
> Hunk #2 succeeded at 1627 (offset 63 lines).
> Hunk #4 succeeded at 2085 (offset 63 lines).
> Hunk #6 succeeded at 2509 (offset 63 lines).
> patching file kernel/signal.c
> patching file kernel/softirq.c
> patching file kernel/timer.c
> patching file kernel/exit.c
> Hunk #3 succeeded at 971 (offset 2 lines).
> patching file kernel/fork.c
> Hunk #2 succeeded at 1490 (offset 1 line).
> patching file kernel/module.c
> Hunk #3 succeeded at 2115 (offset -5 lines).
> patching file lib/semaphore-sleepers.c
> patching file arch/mips/kernel/process.c
> patching file arch/mips/kernel/ptrace.c
> patching file arch/mips/kernel/syscall.c
> patching file arch/mips/kernel/traps.c
> patching file arch/mips/kernel/unaligned.c
> patching file include/asm-mips/mipsregs.h
> patching file arch/mips/mm/fault.c
> patching file arch/mips/kernel/entry.S
> patching file mm/filemap.c
> patching file mm/memory.c
> Hunk #2 succeeded at 2051 (offset -8 lines).
> patching file mm/page_alloc.c
> patching file mm/page_io.c
> patching file mm/hugetlb.c
> patching file include/linux/swapops.h
> patching file mm/swapfile.c
> patching file net/core/dev.c
> patching file net/ipv4/devinet.c
> patching file net/socket.c
> patching file arch/powerpc/kernel/misc_32.S
> patching file arch/powerpc/kernel/misc_64.S
> patching file arch/powerpc/kernel/process.c
> patching file arch/powerpc/kernel/ptrace.c
> patching file arch/powerpc/kernel/syscalls.c
> patching file arch/powerpc/kernel/time.c
> patching file arch/powerpc/kernel/traps.c
> Hunk #1 succeeded at 194 (offset 6 lines).
> Hunk #3 succeeded at 980 (offset 6 lines).
> patching file arch/powerpc/mm/fault.c
> patching file arch/ppc/kernel/misc.S
> patching file arch/ppc/kernel/time.c
> patching file arch/ppc/kernel/traps.c
> patching file arch/ppc/mm/fault.c
> patching file arch/s390/kernel/traps.c
> patching file arch/s390/kernel/sys_s390.c
> patching file arch/s390/mm/fault.c
> patching file arch/s390/kernel/entry.S
> patching file arch/s390/kernel/entry64.S
> patching file arch/s390/kernel/ptrace.c
> patching file arch/sh/kernel/entry-common.S
> patching file arch/sh/kernel/sys_sh.c
> patching file arch/sh/kernel/traps_32.c
> Hunk #1 succeeded at 544 (offset 1 line).
> Hunk #3 succeeded at 605 (offset 1 line).
> patching file arch/sh/kernel/process_32.c
> patching file arch/sh/kernel/process_64.c
> Hunk #1 succeeded at 404 (offset 1 line).
> patching file arch/sh/mm/fault_32.c
> patching file arch/sh/kernel/ptrace_32.c
> patching file arch/sparc/kernel/entry.S
> Hunk #3 succeeded at 1421 (offset 2 lines).
> patching file arch/sparc/kernel/sys_sparc.c
> patching file arch/sparc/kernel/process.c
> Hunk #1 succeeded at 675 (offset 7 lines).
> patching file arch/x86/ia32/ia32entry.S
> patching file arch/x86/ia32/ipc32.c
> patching file arch/x86/kernel/entry_64.S
> patching file arch/x86/kernel/process_64.c
> Hunk #2 succeeded at 905 (offset -25 lines).
> patching file arch/x86/kernel/traps_64.c
> patching file arch/x86/kernel/setup64.c
> patching file arch/x86/kernel/apic_64.c
> patching file arch/x86/kernel/cpu/mcheck/mce_intel_64.c
> patching file arch/x86/kernel/smp_64.c
> patching file arch/x86/kernel/ptrace.c
> patching file include/asm-alpha/thread_info.h
> patching file include/linux/sched.h
> patching file kernel/fork.c
> Hunk #1 succeeded at 1285 (offset 1 line).
> patching file kernel/sched.c
> Hunk #1 succeeded at 8214 (offset 64 lines).
> patching file include/asm-arm/thread_info.h
> patching file include/asm-avr32/thread_info.h
> patching file include/asm-blackfin/thread_info.h
> patching file include/asm-cris/thread_info.h
> patching file include/asm-frv/thread_info.h
> patching file include/asm-h8300/thread_info.h
> patching file include/asm-x86/thread_info_32.h
> patching file include/asm-ia64/thread_info.h
> patching file arch/ia64/kernel/entry.S
> patching file include/asm-m32r/thread_info.h
> patching file include/asm-m68k/thread_info.h
> patching file include/asm-m68knommu/thread_info.h
> patching file include/asm-mips/thread_info.h
> patching file include/asm-parisc/thread_info.h
> patching file include/asm-powerpc/thread_info.h
> patching file include/asm-s390/thread_info.h
> patching file include/asm-sh/thread_info.h
> patching file include/asm-sparc/thread_info.h
> patching file include/asm-sparc64/thread_info.h
> patching file include/asm-um/thread_info.h
> patching file include/asm-v850/thread_info.h
> patching file include/asm-x86/thread_info_64.h
> patching file include/asm-xtensa/thread_info.h
> can't find file to patch at input line 9344
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |LTTng marker control
> |
> |Marker control over /proc/ltt.
> |
> |Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
> |---
> | ltt/Kconfig | 46 +-
> | ltt/Makefile | 1
> | ltt/ltt-marker-control.c | 897 +++++++++++++++++++++++++++++++++++++++++++++++
> | 3 files changed, 925 insertions(+), 19 deletions(-)
> |
> |Index: linux-2.6-lttng/ltt/Kconfig
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Kconfig 2008-01-19 10:34:13.000000000 -0500
> |+++ linux-2.6-lttng/ltt/Kconfig 2008-01-21 15:22:21.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 2 out of 2 hunks ignored
> can't find file to patch at input line 9413
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/ltt/Makefile
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Makefile 2008-01-19 10:34:13.000000000 -0500
> |+++ linux-2.6-lttng/ltt/Makefile 2008-01-21 15:21:47.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file ltt/ltt-marker-control.c
> can't find file to patch at input line 10332
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |LTTng menus
> |
> |Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
> |---
> | ltt/Kconfig | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> | ltt/Makefile | 10 ++++
> | 2 files changed, 136 insertions(+)
> |
> |Index: linux-2.6-lttng/ltt/Kconfig
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Kconfig 2007-12-01 12:23:32.000000000 -0500
> |+++ linux-2.6-lttng/ltt/Kconfig 2007-12-01 12:23:36.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> can't find file to patch at input line 10467
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/ltt/Makefile
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Makefile 2007-12-01 12:23:32.000000000 -0500
> |+++ linux-2.6-lttng/ltt/Makefile 2007-12-01 12:23:36.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file include/asm-mips/timex.h
> patching file arch/mips/kernel/time.c
> patching file ltt/ltt-control.c
> patching file ltt/ltt-control.h
> patching file include/linux/netlink.h
> patching file kernel/relay.c
> patching file kernel/sched.c
> Hunk #1 succeeded at 2274 (offset 63 lines).
> patching file ltt/probes/ltt-sched.c
> patching file ltt/probes/Makefile
> can't find file to patch at input line 10820
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/ltt/Makefile
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Makefile 2008-04-08 11:59:44.000000000 -0400
> |+++ linux-2.6-lttng/ltt/Makefile 2008-04-08 11:59:44.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file ltt/ltt-serialize.c
> patching file kernel/module.c
> Hunk #1 succeeded at 2502 (offset -3 lines).
> patching file include/linux/module.h
> Hunk #1 succeeded at 469 with fuzz 1.
> can't find file to patch at input line 11638
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |---
> | arch/x86/Kconfig | 1 +
> | arch/x86/kernel/syscall_64.c | 17 +++++++++++++++++
> | arch/x86/kernel/traps_32.c | 33 +++++++++++++++++++++++++++++++++
> | arch/x86/kernel/traps_64.c | 16 ++++++++++++++++
> | include/asm-x86/desc_defs.h | 14 +++++++++++++-
> | include/linux/ltt-tracer.h | 15 +++++++++++++++
> | kernel/softirq.c | 16 ++++++++++++++++
> | ltt/Kconfig | 3 +++
> | ltt/ltt-statedump.c | 3 +++
> | 9 files changed, 117 insertions(+), 1 deletion(-)
> |
> |Index: linux-2.6-lttng/ltt/ltt-statedump.c
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/ltt-statedump.c 2008-04-09 19:21:09.000000000 -0400
> |+++ linux-2.6-lttng/ltt/ltt-statedump.c 2008-04-09 19:21:09.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file arch/x86/Kconfig
> Hunk #1 FAILED at 26.
> 1 out of 1 hunk FAILED -- saving rejects to file arch/x86/Kconfig.rej
> can't find file to patch at input line 11664
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/include/linux/ltt-tracer.h
> |===================================================================
> |--- linux-2.6-lttng.orig/include/linux/ltt-tracer.h 2008-04-09 19:21:08.000000000 -0400
> |+++ linux-2.6-lttng/include/linux/ltt-tracer.h 2008-04-09 19:21:09.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file kernel/softirq.c
> patching file arch/x86/kernel/syscall_64.c
> patching file arch/x86/kernel/traps_32.c
> patching file arch/x86/kernel/traps_64.c
> patching file include/asm-x86/desc_defs.h
> can't find file to patch at input line 11893
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/ltt/Kconfig
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Kconfig 2008-04-09 19:21:09.000000000 -0400
> |+++ linux-2.6-lttng/ltt/Kconfig 2008-04-09 19:21:09.000000000 -0400
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file ltt/ltt-statedump.c
> patching file ltt/ltt-test-tsc.c
> can't find file to patch at input line 12444
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/ltt/Makefile
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Makefile 2008-02-01 09:40:59.000000000 -0500
> |+++ linux-2.6-lttng/ltt/Makefile 2008-02-01 10:02:15.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> can't find file to patch at input line 12451
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: linux-2.6-lttng/ltt/Kconfig
> |===================================================================
> |--- linux-2.6-lttng.orig/ltt/Kconfig 2008-02-01 09:40:59.000000000 -0500
> |+++ linux-2.6-lttng/ltt/Kconfig 2008-02-01 10:02:15.000000000 -0500
> --------------------------
> File to patch:
> Skip this patch? [y]
> Skipping patch.
> 1 out of 1 hunk ignored
> patching file ltt/ltt-timestamp.c
> patching file ltt/Kconfig
> patching file ltt/Makefile
> patching file init/Kconfig
> Hunk #1 succeeded at 746 (offset -14 lines).
> patching file kernel/timer.c
> patching file include/linux/ltt.h
> patching file include/asm-generic/ltt.h
> patching file include/asm-mips/ltt.h
> patching file arch/mips/Kconfig
> patching file include/asm-powerpc/ltt.h
> patching file arch/powerpc/Kconfig
> patching file include/asm-ppc/ltt.h
> patching file arch/ppc/Kconfig
> patching file include/asm-sh/ltt.h
> patching file include/asm-sh/timex.h
> patching file arch/sh/Kconfig
> patching file include/asm-x86/ltt.h
> patching file arch/x86/Kconfig
> Hunk #1 succeeded at 24 with fuzz 2.
> patching file include/linux/ltt-tracer.h
> patching file ltt/ltt-tracer.c
> patching file ltt/ltt-relay.c
> patching file Documentation/ioctl-number.txt
> patching file kernel/marker.c
> Hunk #1 succeeded at 29 (offset 1 line).
> patching file samples/markers/marker-example.c
> patching file include/linux/marker.h
> Hunk #1 succeeded at 59 (offset 1 line).
> Hunk #2 succeeded at 84 (offset 1 line).
> Hunk #3 succeeded at 92 (offset 1 line).
> patching file samples/markers/Makefile
> patching file samples/markers/test-multi.c
> patching file include/linux/marker.h
> Hunk #1 succeeded at 45 with fuzz 2 (offset 1 line).
> Hunk #2 succeeded at 76 (offset 4 lines).
> Hunk #3 succeeded at 132 (offset 16 lines).
> patching file kernel/marker.c
> Hunk #1 succeeded at 55 (offset 1 line).
> Hunk #3 succeeded at 118 (offset 1 line).
> Hunk #5 succeeded at 149 (offset 1 line).
> Hunk #7 succeeded at 184 (offset 1 line).
> patching file kernel/module.c
> Hunk #1 succeeded at 2051 (offset 11 lines).
> patching file include/linux/marker.h
> Hunk #1 FAILED at 76.
> 1 out of 1 hunk FAILED -- saving rejects to file include/linux/marker.h.rej
> patching file kernel/module.c
> Hunk #1 succeeded at 64 (offset 1 line).
> Hunk #3 succeeded at 2436 (offset -3 lines).
> patching file ltt/ltt-statedump.c
> patching file include/asm-x86/unistd_32.h
> patching file kernel/profile.c
> patching file include/linux/profile.h
> patching file kernel/sched_fair.c
> patching file arch/x86/kvm/x86.c
> patching file fs/seq_file.c
> patching file include/linux/seq_file.h
> patching file arch/x86/kernel/entry_32.S
> Hunk #1 FAILED at 430.
> 1 out of 1 hunk FAILED -- saving rejects to file arch/x86/kernel/entry_32.S.rej
> patching file arch/x86/kernel/traps_32.c
> patching file samples/kprobes/Makefile
> patching file samples/kprobes/kprobe_nmi.c
> patching file samples/markers/probe-example.c
> patching file arch/x86/kernel/traps_64.c
> patching file arch/x86/kernel/entry_64.S
> Hunk #1 FAILED at 612.
> Hunk #2 FAILED at 900.
> 2 out of 2 hunks FAILED -- saving rejects to file arch/x86/kernel/entry_64.S.rej
> patching file include/linux/memory.h
> patching file mm/memory.c
> Hunk #1 succeeded at 52 (offset 1 line).
> Hunk #3 succeeded at 2766 (offset 21 lines).
> patching file kernel/kprobes.c
> patching file include/linux/ltt-tracer.h
> patching file arch/x86/kernel/alternative.c
> Hunk #1 succeeded at 5 with fuzz 1.
> Hunk #2 succeeded at 180 (offset 1 line).
> Hunk #4 succeeded at 227 (offset 1 line).
> Hunk #6 succeeded at 313 (offset 1 line).
> Hunk #8 succeeded at 384 (offset 1 line).
> Hunk #10 succeeded at 421 (offset 1 line).
> Hunk #12 succeeded at 460 (offset 1 line).
> patching file include/asm-x86/alternative.h
> patching file arch/x86/mm/init_32.c
> patching file arch/x86/mm/init_64.c
> patching file include/linux/hardirq.h
> patching file arch/x86/kernel/entry_32.S
> patching file arch/x86/kernel/entry_64.S
> Hunk #1 succeeded at 593 (offset 12 lines).
> Hunk #3 succeeded at 845 (offset 12 lines).
> patching file include/asm-x86/irqflags.h
> patching file include/asm-alpha/thread_info.h
> patching file include/asm-avr32/thread_info.h
> patching file include/asm-x86/paravirt.h
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
More information about the lttng-dev
mailing list