From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Andreas Herrmann <andreas.herrmann3@amd.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
pm list <linux-pm@lists.linux-foundation.org>
Subject: Re: [Regression, 2.6.32->33-rc1] Commit 9f15226e755 breaks resume on Toshiba Portege R500
Date: Thu, 24 Dec 2009 00:01:26 +0100 [thread overview]
Message-ID: <200912240001.26764.rjw@sisk.pl> (raw)
In-Reply-To: <200912230158.42161.rjw@sisk.pl>
On Wednesday 23 December 2009, Rafael J. Wysocki wrote:
> Hi Andreas,
>
> Unfortunately your commit 9f15226e75583547aaf542c6be4bdac1060dd425
> (x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online
> cycle) breaks resume from suspend to RAM on my Toshiba Portege R500 (an attempt
> to resume causes a hard hang with 100% CPU load, reproducible 100% of the
> time). This has been found by bisection and confirmed by reverting this commit
> on top of 2.6.33-rc1.
>
> Strangely enough, the box doesn't even have an AMD CPU, there's an Intel Core2
> Duo in it, so I suspect some missing check somewhere.
>
> If I have the time, I'll look deeper into this tomorrow.
I think commit 9f15226e755 is wrong, since it causes microcode_init_cpu()
to be called during resume even for CPUs for which there's no microcode to
apply. That, in turn, results in executing request_firmware() (on Intel CPUs
at least) which doesn't work at this stage of resume (we have device interrupts
disabled, I/O devices are still suspended and so on).
If I'm not mistaken, the "if (uci->valid)" logic means "if that CPU is known
to us" , so before commit 9f15226e755 microcode_resume_cpu() was called for
all CPUs already in the system during suspend, which was the right thing to do.
The commit changed it so that the CPUs without microcode to apply are now
treated as "unknown", which is not quite right.
The problem this commit attempted to solve has to be handled differently.
Linus, please revert commit 9f15226e755.
Rafael
prev parent reply other threads:[~2009-12-23 23:01 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-23 0:58 Rafael J. Wysocki
2009-12-23 23:01 ` Rafael J. Wysocki [this message]
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=200912240001.26764.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=andreas.herrmann3@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=mingo@elte.hu \
--cc=torvalds@linux-foundation.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
all inboxes | Powered by JetHome®