All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Milton Miller <miltonm@bga.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Mark Lord <lkml@rtr.ca>,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	linux-pm@lists.linux-foundation.org, Len Brown <lenb@kernel.org>
Subject: Re: [stable] [patch 09/12] Fix SMP poweroff hangs
Date: Wed, 10 Oct 2007 13:35:48 +0200	[thread overview]
Message-ID: <200710101335.49866.rjw@sisk.pl> (raw)
In-Reply-To: <200710101006.l9AA657g083900@sullivan.realtime.net>

On Wednesday, 10 October 2007 12:06, Milton Miller wrote:
> 
> On Tue, Oct 9 2007 Thomas Gleixner wrote:
> >On Tue, 9 Oct 2007, Linus Torvalds wrote:
> >>On Wed, 10 Oct 2007, Thomas Gleixner wrote:
> >>>
> >>> Wrapping it into a #ifdef CONFIG_X86 would be sufficient.
> >>
> >> Well, the ppc oops seems to be a ppc bug regardless.
> >>
> >> If CPU_HOTPLUG isn't defined, the thing does nothing. And if it is
> >> defined, I don't see why/how ppc can validly oops. So I think the first
> >> thing to do is to try to figure out why it oopses, not to disable it for
> >> ppc.
> >
> >Fair enough. OTOH for the affected PPC users it's a regression and that's
> >what I'm concerned of.
> >
> >tglx
> 
> I agree this exposes a ppc arch bug (and the reason has been diagnosed),
> but might not other archs have similar problems?  The patch ties
> power-off code to suspend and hibernate cpu hotplug code.
> 
> Why not put this ACPI requirement in the ACPI code?   There is already
> a hook called at the same place this function was called that is only
> used for power off.

IMO this is a good idea.

> Also, the code is compiled for CONFIG_PM_SLEEP_SMP, which is not
> CONFIG_HOTPLUG_CPU, it requires the selection of either CONFIG_HIBERNATION
> or CONFIG_SUSPEND.  I confirmed that both of these can be disabled
> on i386 without disabling acpi.  In such a kernel the existing patch
> is insufficient.

Well, it's a known problem with this patch.

However, to resolve it we'd need to make ACPI select the CPU hotplug on SMP,
just like PM_SLEEP.  IOW, we should have a rule that if
(ACPI || PM_SLEEP) && SMP, then the CPU hotplug is selected.

Greetings,
Rafael


>  drivers/acpi/sleep/main.c |    2 ++
>  kernel/sys.c              |    1 -
>  2 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
> index 2cbb9aa..79589bd 100644
> --- a/drivers/acpi/sleep/main.c
> +++ b/drivers/acpi/sleep/main.c
> @@ -15,6 +15,7 @@
>  #include <linux/dmi.h>
>  #include <linux/device.h>
>  #include <linux/suspend.h>
> +#include <linux/cpu.h>
>  
>  #include <asm/io.h>
>  
> @@ -382,6 +383,7 @@ static void acpi_power_off_prepare(void)
>  {
>  	/* Prepare to power off the system */
>  	acpi_sleep_prepare(ACPI_STATE_S5);
> +	disable_nonboot_cpus();
>  }
>  
>  static void acpi_power_off(void)
> diff --git a/kernel/sys.c b/kernel/sys.c
> index 8ae2e63..138f5c8 100644
> --- a/kernel/sys.c
> +++ b/kernel/sys.c
> @@ -879,7 +879,6 @@ void kernel_power_off(void)
>  	kernel_shutdown_prepare(SYSTEM_POWER_OFF);
>  	if (pm_power_off_prepare)
>  		pm_power_off_prepare();
> -	disable_nonboot_cpus();
>  	sysdev_shutdown();
>  	printk(KERN_EMERG "Power down.\n");
>  	machine_power_off();
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 

-- 
"Premature optimization is the root of all evil." - Donald Knuth

  reply	other threads:[~2007-10-10 11:20 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20071008180406.052382073@mini.kroah.org>
2007-10-08 18:05 ` [patch 00/12] 2.6.22.10 -stable review Greg KH
2007-10-08 18:06   ` [patch 01/12] scsi_transport_spi: fix domain validation failure from incorrect width setting Greg KH
2007-10-08 18:06   ` [patch 02/12] sky2: reduce impact of watchdog timer Greg KH
2007-10-08 18:06   ` [patch 03/12] sky2: fix VLAN receive processing Greg KH
2007-10-08 18:06   ` [patch 04/12] sky2: fix transmit state on resume Greg KH
2007-10-08 18:06   ` [patch 05/12] libata: update drive blacklists Greg KH
2007-10-08 18:06   ` [patch 06/12] Fix ppp_mppe kernel stack usage Greg KH
2007-10-08 18:06   ` [patch 07/12] i2c-algo-bit: Read block data bugfix Greg KH
2007-10-08 18:06   ` [patch 08/12] NLM: Fix a circular lock dependency in lockd Greg KH
2007-10-08 20:01     ` Roel Kluin
2007-10-09 15:00       ` Trond Myklebust
2007-10-09 15:13         ` Greg KH
2007-10-09 15:27           ` Trond Myklebust
2007-10-09 20:41             ` [stable] " Greg KH
2007-10-08 18:06   ` [patch 09/12] Fix SMP poweroff hangs Greg KH
2007-10-09 15:17     ` Olof Johansson
2007-10-09 22:20       ` [stable] " Greg KH
2007-10-09 23:21         ` Thomas Gleixner
2007-10-09 23:27           ` Linus Torvalds
2007-10-09 23:35             ` Thomas Gleixner
2007-10-10  5:29               ` Linus Torvalds
     [not found]                 ` <200710092359.47144.spaceman__spiff@cox.net>
2007-10-10 14:57                   ` ARPM shutdown oops (Re: [stable] [patch 09/12] Fix SMP poweroff hangs) Linus Torvalds
2007-10-10 16:31                     ` H. Peter Anvin
2007-10-11  3:05                     ` Kevin
2007-10-11 15:31                       ` Linus Torvalds
2007-10-11 18:42                         ` Jeff Garzik
2007-10-11 19:19                           ` Dave Jones
2007-10-11 20:55                           ` Rafael J. Wysocki
2007-10-11 23:27                           ` APM " Adrian Bunk
2007-10-12 12:05                             ` Rafael J. Wysocki
2007-10-10  0:03             ` [stable] [patch 09/12] Fix SMP poweroff hangs Olof Johansson
2007-10-10  0:03               ` Olof Johansson
2007-10-10  0:08             ` [PATCH] powerpc: don't enable cpu hotplug on mpic-based pseries Olof Johansson
2007-10-10  0:08               ` Olof Johansson
2007-10-10  0:18               ` Stephen Rothwell
2007-10-10  0:18                 ` Stephen Rothwell
2007-10-10  0:38                 ` [PATCH v2] " Olof Johansson
2007-10-10 10:08                   ` Milton Miller
2007-10-10 10:08                     ` Milton Miller
2007-10-10 16:43                     ` Olof Johansson
2007-10-10 16:43                       ` Olof Johansson
2007-10-11 15:25                       ` Milton Miller
2007-10-11  5:52                   ` Paul Mackerras
2007-10-11  5:59                     ` Olof Johansson
2007-10-11 21:42                     ` Milton Miller
2007-10-11  0:24             ` [stable] [patch 09/12] Fix SMP poweroff hangs Paul Mackerras
2007-10-09 23:28           ` Greg KH
     [not found]           ` <alpine.LFD.0.999.0710091625520.3838@woody.linux%foundation.org>
2007-10-10 10:06             ` Milton Miller
2007-10-10 11:35               ` Rafael J. Wysocki [this message]
2007-10-10 11:35               ` Rafael J. Wysocki
2007-10-10 10:06             ` Milton Miller
2007-10-08 18:06   ` [patch 10/12] Fix timer_stats printout of events/sec Greg KH
2007-10-08 18:06   ` [patch 11/12] SELinux: clear parent death signal on SID transitions Greg KH
2007-10-08 18:06   ` [patch 12/12] i386: Use global flag to disable broken local apic timer on AMD CPUs Greg KH
2007-10-08 18:09   ` [patch 00/12] 2.6.22.10 -stable review Greg KH

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=200710101335.49866.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@suse.de \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=lkml@rtr.ca \
    --cc=miltonm@bga.com \
    --cc=tglx@linutronix.de \
    --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 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.