Messages in this thread Patch in this message | | | Date | Wed, 18 Oct 2006 09:12:58 +0200 | From | Ingo Molnar <> | Subject | Re: 2.6.18-rt1 |
| |
* Dipankar Sarma <dipankar@in.ibm.com> wrote:
> Sorry, I should have published my investigations long ago. I tracked > this down (atleast the crash in my machine) to NMI interference with > rcu_read_lock()/rcu_read_unlock(). We use those APIs from NMI context > as well > (default_do_nmi()->notify_die()->atomic_notifier_call_chain()). > > Can you try with nmi_watchdog=0 in the kernel command line ? > > Paul has an NMI-safe patch for rcupreempt which I am adopting and > testing at the moment. If this works well, I will publish a new > patchset.
spent some good time debugging this 2 weeks ago and added the fix below to rt5, but i forgot to do the symmetric fix for x86_64...
Ingo
-----------> arch/i386/kernel/traps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Index: linux/arch/i386/kernel/traps.c =================================================================== --- linux.orig/arch/i386/kernel/traps.c +++ linux/arch/i386/kernel/traps.c @@ -716,9 +716,6 @@ static void default_do_nmi(struct pt_reg reason = get_nmi_reason(); if (!(reason & 0xc0)) { - if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 2, SIGINT) - == NOTIFY_STOP) - return; #ifdef CONFIG_X86_LOCAL_APIC /* * Ok, so this is none of the documented NMI sources, @@ -729,6 +726,9 @@ static void default_do_nmi(struct pt_reg return; } #endif + if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 2, SIGINT) + == NOTIFY_STOP) + return; unknown_nmi_error(reason, regs); return; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |