On Tuesday, 27 March 2007 03:59, Adrian Bunk wrote: > This email lists some known regressions in Linus' tree compared to 2.6.20. > > If you find your name in the Cc header, you are either submitter of one > of the bugs, maintainer of an affectected subsystem or driver, a patch > of you caused a breakage or I'm considering you in any other way > possibly involved with one or more of these issues. > > Due to the huge amount of recipients, please trim the Cc when answering. I think the following two: > Subject : suspend to disk: keypress required for power down > References : http://lkml.org/lkml/2007/3/25/78 > Submitter : Thomas Meyer <thomas@xxxxxxxx> > Status : unknown > Subject : suspend to disk: non-boot cpus are disabled again > References : http://lkml.org/lkml/2007/3/25/78 > Submitter : Thomas Meyer <thomas@xxxxxxxx> > Handled-By : Rafael J. Wysocki <rjw@xxxxxxx> > Eric W. Biederman <ebiederm@xxxxxxxxxxxx> > Status : problem is being debugged are related to the same issue. The problem is that we call disable_nonboot_cpus() in swsusp before powering down the system in order to avoid triggering the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c:init_low_mapping() and this doesn't work well on Thomas' system. Since the problem has been introduced by commit 94985134b7b46848267ed6b734320db01c974e72 (swsusp: disable nonboot CPUs before entering platform suspend), I think it's better to revert this commit and remove the the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c:init_low_mapping() (appended is a patch that removes the WARN_ON()). Greetings, Rafael --- Remove the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c:init_low_mapping(), which triggers every time during the suspend to disk in the platform mode, as the potential problem it is related to doesn't seem to occur in practice. Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> --- arch/x86_64/kernel/acpi/sleep.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: linux-2.6.21-rc5/arch/x86_64/kernel/acpi/sleep.c =================================================================== --- linux-2.6.21-rc5.orig/arch/x86_64/kernel/acpi/sleep.c +++ linux-2.6.21-rc5/arch/x86_64/kernel/acpi/sleep.c @@ -66,8 +66,10 @@ static void init_low_mapping(void) { pgd_t *slot0 = pgd_offset(current->mm, 0UL); low_ptr = *slot0; + /* FIXME: We're playing with the current task's page tables here, which + * is potentially dangerous on SMP systems. + */ set_pgd(slot0, *pgd_offset(current->mm, PAGE_OFFSET)); - WARN_ON(num_online_cpus() != 1); local_flush_tlb(); } _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm