Re: 2.6.18-rt1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


* Dipankar Sarma <[email protected]> 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...


 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;
 		 * Ok, so this is none of the documented NMI sources,
@@ -729,6 +726,9 @@ static void default_do_nmi(struct pt_reg
+		if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 2, SIGINT)
+							== NOTIFY_STOP)
+			return;
 		unknown_nmi_error(reason, regs);

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at
Please read the FAQ at

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux