From: Adrian Bunk <bunk@stusta.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>, Len Brown <lenb@kernel.org>,
david@lang.hm, Andrew Morton <akpm@linux-foundation.org>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
Pavel Machek <pavel@ucw.cz>
Subject: [2.6 patch] let SUSPEND select HOTPLUG_CPU
Date: Sat, 28 Jul 2007 00:25:03 +0200 [thread overview]
Message-ID: <20070727222503.GB15129@stusta.de> (raw)
In-Reply-To: <alpine.LFD.0.999.0707261351430.3442@woody.linux-foundation.org>
On Thu, Jul 26, 2007 at 01:55:18PM -0700, Linus Torvalds wrote:
>
>
> On Thu, 26 Jul 2007, Rafael J. Wysocki wrote:
> >
> > My point is we have ACPI dependent on PM, so if you want ACPI, you end
> > up with all of the STR stuff built in, which is what you don't like (if I
> > understand that correctly). If we have CONFIG_SUSPEND, you'll be able to
> > choose ACPI alone. :-)
>
> Good point.
>
> Anyway, I think the ACPI problem really is as trivial as the following
> three-liner removal fix. If the user doesn't want suspend, ACPI shouldn't
> force it on him.
>
> A nicer fix might be to also make some of the ACPI helper routines depend
> on whether they are needed or not (which in turn will depend on whether
> suspend support has been compiled into the kernel), but quite frankly,
> that's secondary at least for me.
>
> So if we have a few ACPI routines that will never get called (because we
> don't even enable the interfaces that would *cause* them to be called), I
> don't think that's a huge problem. It's a beauty wart, but nobody really
> cares (and it's even something that we could get the compiler to optimize
> away for us if we really cared).
>
> Linus
>
> ---
> Don't force-enable suspend/hibernate support just for ACPI
>
> It's a totally independent decision for the user whether he wants
> suspend and/or hibernation support, and ACPI shouldn't care.
>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> ---
> drivers/acpi/Kconfig | 3 ---
> 1 files changed, 0 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 251344c..22b401b 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -11,9 +11,6 @@ menuconfig ACPI
> depends on PCI
> depends on PM
> select PNP
> - # for sleep
> - select HOTPLUG_CPU if X86 && SMP
> - select SUSPEND_SMP if X86 && SMP
> default y
> ---help---
> Advanced Configuration and Power Interface (ACPI) support for
The dependency of SUSPEND_SMP on HOTPLUG_CPU is quite unintuitive, so
what about something like the patch below?
This should address a main issue behind Len's patch.
cu
Adrian
<-- snip -->
An implementation detail of the suspend code that is not intuitive for
the user is the HOTPLUG_CPU dependency of SOFTWARE_SUSPEND if SMP.
This patch changes SOFTWARE_SUSPEND if SMP to select HOTPLUG_CPU instead
of depending on it.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
kernel/power/Kconfig | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -72,9 +72,22 @@ config PM_TRACE
CAUTION: this option will cause your machine's real-time clock to be
set to an invalid time after a resume.
+config SUSPEND_SMP_POSSIBLE
+ bool
+ depends on (X86 && !X86_VOYAGER) || (PPC64 && (PPC_PSERIES || PPC_PMAC))
+ depends on SMP
+ default y
+
+config SUSPEND_SMP
+ bool
+ depends on SUSPEND_SMP_POSSIBLE && SOFTWARE_SUSPEND
+ select HOTPLUG_CPU
+ default y
+
config SOFTWARE_SUSPEND
bool "Software Suspend (Hibernation)"
- depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
+ depends on PM && SWAP
+ depends on ((X86 || PPC64_SWSUSP || FRV || PPC32) && !SMP) || SUSPEND_SMP_POSSIBLE
---help---
Enable the suspend to disk (STD) functionality, which is usually
called "hibernation" in user interfaces. STD checkpoints the
@@ -132,11 +145,6 @@ config PM_STD_PARTITION
suspended image to. It will simply pick the first available swap
device.
-config SUSPEND_SMP
- bool
- depends on HOTPLUG_CPU && (X86 || PPC64) && PM
- default y
-
config APM_EMULATION
tristate "Advanced Power Management Emulation"
depends on PM && SYS_SUPPORTS_APM_EMULATION
next prev parent reply other threads:[~2007-07-27 22:25 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-25 16:38 [GIT PATCH] ACPI patches for 2.6.23-rc1 Len Brown
2007-07-25 18:48 ` Linus Torvalds
2007-07-25 22:51 ` Len Brown
2007-07-26 2:20 ` david
2007-07-26 4:26 ` Len Brown
2007-07-26 5:00 ` david
2007-07-26 6:55 ` Linus Torvalds
2007-07-26 17:45 ` Len Brown
2007-07-26 18:01 ` Linus Torvalds
2007-07-26 18:02 ` david
2007-07-26 18:16 ` Linus Torvalds
2007-07-26 18:27 ` Jeff Garzik
2007-07-26 18:18 ` Len Brown
2007-07-26 19:17 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Rafael J. Wysocki
2007-07-26 19:57 ` Linus Torvalds
2007-07-26 20:48 ` Rafael J. Wysocki
2007-07-26 20:55 ` Linus Torvalds
2007-07-27 22:25 ` Adrian Bunk [this message]
2007-07-27 22:47 ` [2.6 patch] let SUSPEND select HOTPLUG_CPU Stefan Richter
2007-07-27 23:03 ` Adrian Bunk
2007-07-28 8:42 ` Stefan Richter
2007-07-30 21:18 ` Pavel Machek
2007-07-28 14:44 ` Sergio Monteiro Basto
2007-07-27 22:57 ` Linus Torvalds
2007-07-28 4:52 ` [2.6 patch] SOFTWARE_SUSPEND: handle HOTPLUG_CPU automatically Adrian Bunk
2007-07-28 9:07 ` Stefan Richter
2007-07-28 18:30 ` [2.6 patch] let SUSPEND select HOTPLUG_CPU Rafael J. Wysocki
2007-07-28 7:30 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Len Brown
2007-07-28 7:33 ` [PATCH] ACPI: restore CONFIG_ACPI_SLEEP Len Brown
2007-07-28 16:25 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Linus Torvalds
2007-07-28 16:55 ` Linus Torvalds
2007-07-28 18:29 ` Rafael J. Wysocki
2007-07-28 18:31 ` Linus Torvalds
2007-07-29 10:20 ` [PATCH 0/2] Introduce CONFIG_HIBERNATION and CONFIG_SUSPEND (was: CONFIG_SUSPEND?) Rafael J. Wysocki
2007-07-29 10:21 ` [PATCH 1/2] Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION Rafael J. Wysocki
2007-07-29 12:38 ` [PATCH 2/2] Introduce CONFIG_SUSPEND Rafael J. Wysocki
2007-07-29 20:40 ` Adrian Bunk
2007-07-29 21:17 ` Rafael J. Wysocki
2007-07-29 21:18 ` Adrian Bunk
2007-07-29 21:36 ` Rafael J. Wysocki
2007-07-29 21:30 ` Richard Hughes
2007-07-29 22:22 ` Rafael J. Wysocki
2007-07-30 21:26 ` Pavel Machek
2007-07-30 2:47 ` Kyle Moffett
2007-07-29 21:23 ` [PATCH 0/2] Introduce CONFIG_HIBERNATION and CONFIG_SUSPEND (updated) Rafael J. Wysocki
2007-07-29 21:24 ` [PATCH 1/2] Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION (updated) Rafael J. Wysocki
2007-07-29 21:27 ` [PATCH 2/2] Introduce CONFIG_SUSPEND (updated) Rafael J. Wysocki
2007-07-31 4:59 ` Len Brown
2007-07-31 9:15 ` Rafael J. Wysocki
2007-07-31 9:16 ` [linux-pm] " Oliver Neukum
2007-07-31 10:01 ` Rafael J. Wysocki
2007-07-30 0:21 ` [PATCH 0/2] Introduce CONFIG_HIBERNATION and " Linus Torvalds
2007-07-30 7:25 ` Rafael J. Wysocki
2007-07-31 3:54 ` Len Brown
2007-07-31 3:54 ` [PATCH] create CONFIG_SUSPEND_UP_POSSIBLE Len Brown
2007-07-31 6:38 ` Pavel Machek
2007-07-31 9:33 ` Rafael J. Wysocki
2007-08-03 19:23 ` Len Brown
2007-08-05 18:36 ` Pavel Machek
2007-08-01 3:27 ` [PATCH] ACPI: delete CONFIG_ACPI_PROCFS_SLEEP (again) Len Brown
2007-08-01 10:24 ` Rafael J. Wysocki
2007-07-31 3:53 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Len Brown
2007-07-31 4:09 ` david
2007-07-31 6:33 ` Pavel Machek
2007-07-26 10:07 ` [GIT PATCH] ACPI patches for 2.6.23-rc1 Gabriel C
2007-07-26 18:05 ` Len Brown
2007-07-26 18:18 ` Linus Torvalds
2007-07-26 18:38 ` Gabriel C
2007-07-26 18:53 ` defconfig , ACPI=n compile error Gabriel C
2007-07-26 7:02 ` [GIT PATCH] ACPI patches for 2.6.23-rc1 Linus Torvalds
2007-07-27 6:26 ` Jan Dittmer
2007-07-27 16:25 ` Thomas Renninger
2007-07-27 23:50 ` Andreas Schwab
2007-07-28 7:58 ` Jan Dittmer
2007-08-01 1:34 ` Yasha Okshtein
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=20070727222503.GB15129@stusta.de \
--to=bunk@stusta.de \
--cc=akpm@linux-foundation.org \
--cc=david@lang.hm \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rjw@sisk.pl \
--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®