Re: [PATCH 1/1] i386: fix a hang on stuck nmi watchdog

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

 



Daniel,

Thanks for your help tracking down this bug. Maybe we can close
the bugzilla report now.

On Sat, Sep 01, 2007 at 01:54:17PM -0700, Daniel Walker wrote:
> In the case when an nmi gets stucks the endflag stays equal to zero. This
> causes the busy looping on other cpus to continue, even tho the nmi test
> is done.
> 
> On my machine with out the change below the system would hang right after
> check_nmi_watchdog(). The change below just sets endflag prior to checking
> if the test was successful or not.
> 
> Signed-off-by: Daniel Walker <[email protected]>
> 
> ---
>  arch/i386/kernel/nmi.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: linux-2.6.22/arch/i386/kernel/nmi.c
> ===================================================================
> --- linux-2.6.22.orig/arch/i386/kernel/nmi.c
> +++ linux-2.6.22/arch/i386/kernel/nmi.c
> @@ -115,12 +115,12 @@ static int __init check_nmi_watchdog(voi
>  			atomic_dec(&nmi_active);
>  		}
>  	}
> +	endflag = 1;
>  	if (!atomic_read(&nmi_active)) {
>  		kfree(prev_nmi_count);
>  		atomic_set(&nmi_active, -1);
>  		return -1;
>  	}
> -	endflag = 1;
>  	printk("OK.\n");
>  
>  	/* now that we know it works we can reduce NMI frequency to
> -- 
> 
> -- 

-- 

-Stephane
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[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