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