new lttng version

Mathieu Desnoyers <[email protected]> Tue, 15 Apr 2008 07:58:50 -0400
Newsgroups gmane.linux.kernel.tracing
Message-ID <20080415115850.GA18915@Krystal>
Hi,

LTTng 0.50 for 2.6.25-rc9-git1 principally contains a nmi fix for the
x86 32 and 64 bits kernel which makes sure we can take a trap or
exception racelessly in NMI context. It does so by replacing iret by
popf/ret or lret.

It's been tested on Intel P4 and AMD64. Some testing on Intel 64 bits
would be welcome.

Enabling the patch test-nmi.patch in the series files, passing
nmi_watchdog=1 (or nmi_watchdog=2) as a kernel command line argument,
and 

make sure CONFIG_IMMEDIATE is active
then

for a in `seq 1 100` do modprobe probe-example; rmmod probe-example;
done

should test the robustness of executing the immediate values breakpoint
in NMI context

To make sure the modified exit path has been taken, run :
modprobe kprobe_nmi; rmmod kprobe_nmi
(this last test does not plant the kprobe, it just outputs debug
information upon rmmod)

It should show addresses different from 0x0 in dmesg.

You can also try to edit both kprobe_nmi and probe-example samples to
test causing a vmalloc fault in NMI (disable CONFIG_IMMEDIATE, uncomment
the vmalloc-related code,  modprobe probe-example; rmmod probe-example ,
then modprobe kprobe_nmi; rmmod kprobe_nmi -> you should see an output
containing something else than 0x0). x86_64 does not seem to execute any
vmalloc fault at all for some reason.

See header in x86-nmi-safe-int3-and-page-fault.patch for details.

Mathieu

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68