Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 2015 20:10:48 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Julian Elischer <julian@freebsd.org>
Cc:        Ian Lepore <ian@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: freebsd-head: suddenly NMI panics lead to ddb being unable to stop CPUs?
Message-ID:  <20150821171048.GC2072@kib.kiev.ua>
In-Reply-To: <55D7577B.8090000@freebsd.org>
References:  <CAJ-VmomvqULP--v47qKJisQkf8VQNvxEhXK=HXEtv9MuLz4D1g@mail.gmail.com> <CAFMmRNw6tWMQ-pfXzSpEM7kRgKafB9KnK-oUhWw2_E-P91drLw@mail.gmail.com> <55D74193.4020008@FreeBSD.org> <CAJ-Vmon6xXBSMPWgNhg-RZKLuuMDP1hvXG%2BDdZ3fZdvFnan06g@mail.gmail.com> <55D74402.70104@freebsd.org> <1440174193.242.279.camel@freebsd.org> <55D7577B.8090000@freebsd.org>

index | next in thread | previous in thread | raw e-mail

On Sat, Aug 22, 2015 at 12:53:15AM +0800, Julian Elischer wrote:
> On 8/22/15 12:23 AM, Ian Lepore wrote:
> > On Fri, 2015-08-21 at 23:30 +0800, Julian Elischer wrote:
> >> On 8/21/15 11:25 PM, Adrian Chadd wrote:
> >>> Ah, cool. I'll give it a whirl.
> >>>
> >>> I'm a little worried about having all of the other cores spinning in
> >>> this case (mostly thermal; the machines get VERY LOUD when the CPUs
> >>> are spinning..)
> >>>
> >> make each spin with the pause instruction.. and for N seconds (N being
> >> the CPU ID) or something
> > cpu_spinwait() is defined as ia32_pause() on i386 and amd64.
> >
> > The problem is that ONLY x86 arches benefit from cpu_spinwait(), it's
> > just a nop on other arches, which turn into little radiant heaters for
> > long spins (like while waiting for APs to be released).
> 
> remind me again why it cant spin with a 'halt' instruction?
Because interrupts are disabled.  Even NMI is disabled, because spin
happens in the NMI handler.  There is no way to wake up CPU from the
halted state.



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150821171048.GC2072>