From: Andi Kleen <andi@firstfloor.org>
To: David Miller <davem@davemloft.net>
Cc: andi@firstfloor.org, linux-kernel@vger.kernel.org,
sparclinux@vger.kernel.org
Subject: Re: NMI watchdog + NOHZ question
Date: Wed, 24 Jun 2009 13:10:51 +0200 [thread overview]
Message-ID: <20090624111051.GP6760@one.firstfloor.org> (raw)
In-Reply-To: <20090624.035914.156829493.davem@davemloft.net>
On Wed, Jun 24, 2009 at 03:59:14AM -0700, David Miller wrote:
> From: Andi Kleen <andi@firstfloor.org>
> Date: Wed, 24 Jun 2009 12:52:23 +0200
>
> > On Wed, Jun 24, 2009 at 03:32:33AM -0700, David Miller wrote:
> >> From: Andi Kleen <andi@firstfloor.org>
> >> Date: Wed, 24 Jun 2009 12:23:25 +0200
> >>
> >> >> And similarly to sparc64, if that 5+ second qla2xxx interrupt
> >> >> sequence happens after the tick_nohz_stop_sched_tick() call
> >> >> we can run into the same situation.
> >> >
> >> > Yes it would be probably safer to do the tick disabling with
> >> > interrupts off already.
> >>
> >> That only makes sense if you're really putting the cpu to sleep
> >> until an interrupt or similar happens.
> >
> > That is what the idle loop is supposed to do, isn't it?
>
> Some sparc64 cpu's don't have a yield, and therefore can't
> truly "sleep" during this loop. That's what I'm talking
> about.
How are power saving states invoked instead? Or do they not
having any power saving idle states?
> >> > These days NMI watchdog is not used much on x86 anymore because it's
> >> > default off, so probably people never noticed that.
> >>
> >> I really didn't want to provide the feature that way on sparc64 which
> >> is why I made it on by default. It would be interesting to reconsider
> >> x86's default, perhaps even only on a trial basis in -next.
> >
> > The reason it was turned off is that there are a few systems (e.g.
> > laptops from a particular vendor) which don't handle NMIs correctly
> > in the platform. When the NMI happens while SMI is active
> > they hang. Also there were a few other strange problems
> > on other systems that went away when it was disabled.
>
> I wonder how many of those "few other strange problems" were of
> the variety I'm diagnosing here :-)
Some likely.
But the general problem is that hardware architects do not normally
consider NMIs as owned by the OS, but rather as owned by
the platform.
> Is this realm of systems-with-NMI-issues exclusive to x86-32
> or would it be more doable to turn it on by default for 64-bit
> x86 builds?
Some of these problems were on 64bit capable systems.
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
next prev parent reply other threads:[~2009-06-24 11:10 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-22 7:27 NMI watchdog + NOHZ question David Miller
2009-06-22 8:18 ` Andi Kleen
2009-06-22 9:27 ` David Miller
2009-06-24 0:17 ` David Miller
2009-06-24 7:03 ` Andi Kleen
2009-06-24 7:08 ` David Miller
2009-06-24 7:15 ` Andi Kleen
2009-06-24 7:17 ` David Miller
2009-06-24 7:53 ` Andi Kleen
2009-06-24 8:51 ` David Miller
2009-06-24 9:44 ` David Miller
2009-06-24 10:23 ` Andi Kleen
2009-06-24 10:32 ` David Miller
2009-06-24 10:52 ` Andi Kleen
2009-06-24 10:59 ` David Miller
2009-06-24 11:10 ` Andi Kleen [this message]
2009-09-03 9:36 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090624111051.GP6760@one.firstfloor.org \
--to=andi@firstfloor.org \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=sparclinux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox