From: Ingo Molnar <mingo@kernel.org>
To: Igor Mammedov <imammedo@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>,
linux-kernel@vger.kernel.org, tglx@linutronix.de,
mingo@redhat.com, hpa@zytor.com, x86@kernel.org, bp@suse.de,
paul.gortmaker@windriver.com, JBeulich@suse.com,
prarit@redhat.com, drjones@redhat.com, toshi.kani@hp.com,
riel@redhat.com, gong.chen@linux.intel.com
Subject: Re: [PATCH v2 1/5] x86: replace timeouts when booting secondary CPU with infinite wait loop
Date: Thu, 3 Apr 2014 08:43:37 +0200 [thread overview]
Message-ID: <20140403064337.GA29274@gmail.com> (raw)
In-Reply-To: <20140402232956.54848fbe@thinkpad>
* Igor Mammedov <imammedo@redhat.com> wrote:
> > I've seen that. Kernel still boots. With your patch it would hang.
Nonsense, not booting is OK when critical hardware is genuinely bad -
this isn't a disk drive or networking where bad IO 'happens sometimes'
and failure is something we have to engineer for - this is the CPU!
If a critical piece of hardware like the CPU or RAM is non-functional
then it should be excluded by the user explicitly, not worked around
after some ugly, non-deterministic and fragile timeout.
The timeout in the SMP bringup code was really an ancient property,
introduced back more than a decade ago when hardware makers were
ignorant of Linux we were ignorant of how to properly interface with
SMP hardware.
Today a 'timeout' means one of 3 things:
- bad, fragile hardware - this we don't want to hide, unless
explicitly told so by the user. I've seen such symptoms related to
overclocking for example - so not booting is perfectly justified,
it can prevent reporting a bogus kernel crash down the line.
- buggy SMP bringup. That is a bug that needs to be fixed, not
worked around.
- timeout fragility in virtualized environments
I'm not aware of any genuine case where timing out is the correct
thing to do.
So the patches look fine to me as-is, I planned on looking at them
more closely after the merge window.
Thanks,
Ingo
next prev parent reply other threads:[~2014-04-03 6:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-31 20:09 [PATCH v2 0/5] x86: fix hang when AP bringup is too slow Igor Mammedov
2014-03-31 20:09 ` [PATCH v2 1/5] x86: replace timeouts when booting secondary CPU with infinite wait loop Igor Mammedov
2014-04-02 17:15 ` Andi Kleen
2014-04-02 21:29 ` Igor Mammedov
2014-04-02 23:48 ` Andi Kleen
2014-04-03 6:43 ` Ingo Molnar [this message]
2014-04-03 21:03 ` Andi Kleen
2014-03-31 20:09 ` [PATCH v2 2/5] x86: cleanup not needed cpu_initialized_mask Igor Mammedov
2014-03-31 20:09 ` [PATCH v2 3/5] x86: log error on secondary CPU wakeup failure at ERR level Igor Mammedov
2014-03-31 20:09 ` [PATCH v2 4/5] x86: fix list corruption on CPU hotplug Igor Mammedov
2014-03-31 20:09 ` [PATCH v2 5/5] x86: fix memory corruption in acpi_unmap_lsapic() Igor Mammedov
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=20140403064337.GA29274@gmail.com \
--to=mingo@kernel.org \
--cc=JBeulich@suse.com \
--cc=andi@firstfloor.org \
--cc=bp@suse.de \
--cc=drjones@redhat.com \
--cc=gong.chen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=imammedo@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=paul.gortmaker@windriver.com \
--cc=prarit@redhat.com \
--cc=riel@redhat.com \
--cc=tglx@linutronix.de \
--cc=toshi.kani@hp.com \
--cc=x86@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.