Re: [2.6.17-rc5-mm2] crash when doing second suspend: BUG in arch/i386/kernel/nmi.c:174

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

 



On Tue, Jun 06, 2006 at 02:44:06PM +0800, Shaohua Li wrote:
> On Mon, 2006-06-05 at 16:35 +0800, Miles Lane wrote:
> > On 6/5/06, Andrew Morton <[email protected]> wrote:
> > 
> > > Do you think the suspend breakage is related to that patch? 
> > > 
> > > Miles also reports that every second suspend fails for him.  Miles,
> > does 
> > > 'nmi_watchdog=0' make it better?
> > 
> > I tried using that as an appended boot option, but it didn't change
> > the 
> > behavior.
> Does below patch help? The nmi suspend/resume doesn't look good to me.
> Only CPU0 uses the suspend/resume code path. Other CPUs run the CPU
> hotplug code path.
>

This patch makes sense.  I was unaware that the suspend/resume case was
only for CPU0.  

However, I am still concerned about one thing though.  After looking
through the bugzilla attachments, the reason why Jeremy's machine is
crashing on the second suspend is because one of the watchdog timers is
turning on after the resume.  

Because he is using a i386 machine, the nmi watchdog is disabled by
default.  This is evident by his attachment ('cat /proc/interrupts | grep
NMI was zero).  The machine suspends then resumes.  Running the same 'cat'
command again, we see NMI output.  My guess is during the second suspend,
the NMI watchdog code sees one watchdog is enabled but tries to disable
all of them (this is a bug and I will provide that patch).  Upon disabling
the 'disabled' watchdog, the BUG_ON is hit and the machine goes down.  

My concern is _why_ one of the watchdog timers was re-enable during
resume.  It makes sense that CPU0 was still disabled, but apparently the
hotplug case for CPU1 didn't realize that CPU1 was previously disabled or
that the default is to remain off.  I need to look at the code for this.
Any inputs from those that know the hotplug code better than I?

Cheers,
Don
 
-
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