Re: [PATCH] Fix microcode-related suspend problem



On Sat, Mar 31, 2007 at 01:35:32PM -0700, Andrew Morton wrote:
On Sat, 31 Mar 2007 22:04:15 +0200 "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:

This patch appeard on LMKL six days ago and there have not been any negative
comments since then, so I think I can try to make it official.

---
From: Rafael J. Wysocki <rjw@xxxxxxx>

Fix the regression resulting from the recent change of suspend code ordering
that causes systems based on Intel x86 CPUs using the microcode driver to
hang during the resume.

The problem occurs since the microcode driver uses request_firmware() in its
CPU hotplug notifier, which is called after tasks has been frozen and hangs.
It can be fixed by telling the microcode driver to use the microcode stored in
memory during the resume instead of trying to load it from disk.

CONFIG_SMP=n:

arch/i386/kernel/microcode.c: In function 'microcode_init_cpu':
arch/i386/kernel/microcode.c:628: error: 'suspend_cpu_hotplug' undeclared (first use in this function)
arch/i386/kernel/microcode.c:628: error: (Each undeclared identifier is reported only once
arch/i386/kernel/microcode.c:628: error: for each function it appears in.)
arch/i386/kernel/microcode.c: In function 'mc_sysdev_add':
arch/i386/kernel/microcode.c:717: error: 'suspend_cpu_hotplug' undeclared (first use in this function)
arch/i386/kernel/microcode.c: In function 'mc_sysdev_remove':
arch/i386/kernel/microcode.c:745: error: 'suspend_cpu_hotplug' undeclared (first use in this function)

Given this, and the overall intrusiveness of the change, I'd worry about
trying to get this into 2.6.21.

It fixes a regression, and we are still at least one month away from the
release of 2.6.21.

2.6.20 was released with too many known regressions [1], let's not
repeat this mistake with 2.6.21.

cu
Adrian

[1] at least the CONFIG_USB_SUSPEND powerdown regression and the
pktcdvd+libata not working regression shouldn't have been in
a released kernel

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [PATCH] Fix microcode-related suspend problem
    ... Fix the regression resulting from the recent change of suspend code ordering ... The problem occurs since the microcode driver uses request_firmwarein its ... CPU hotplug notifier, which is called after tasks has been frozen and hangs. ... static inline int disable_nonboot_cpus ...
    (Linux-Kernel)
  • Re: 2.6.25 regression: VIDEO_DEV=y/m, I2C=n compile error
    ... Thanks for getting this regression. ... Please test the enclosed patch. ... *chip, u32 ident, u32 revision) ... There had been need of rain for many days. ...
    (Linux-Kernel)
  • Re: [BUG] While rmmod ohci1394
    ... Known regression: ... References: http://lkml.org/lkml/2007/3/14/4 ... commit 43cb76d91ee85f579a69d42bc8efc08bac560278 ... There had been need of rain for many days. ...
    (Linux-Kernel)
  • Re: 2.6.20-rc5: known unfixed regressions (v3) (part 2)
    ... commit e4f0ae0ea63caceff37a13f281a72652b7ea71ba ... Status: patches are being discussed ... I wouldn't call this a regression. ... There had been need of rain for many days. ...
    (Linux-Kernel)
  • Re: 2.6.20rc5 k8/acpi regression ( 2.6.17.13 works fine ).
    ... disabling the "amd-k8 cool'n'quiet" option in bios helps. ... a recent regression. ... There had been need of rain for many days. ...
    (Linux-Kernel)