From: Ashok Raj <ashok.raj@intel.com>
To: Pavel Machek <pavel@suse.cz>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
"Raj, Ashok" <ashok.raj@intel.com>,
Nigel Cunningham <ncunningham@cyclades.com>,
Andrew Morton <akpm@osdl.org>,
ak@muc.de, linux-kernel@vger.kernel.org
Subject: Re: [rfc] fix Kconfig, hotplug_cpu is needed for swsusp
Date: Sat, 1 Apr 2006 15:55:45 -0800 [thread overview]
Message-ID: <20060401155545.A7466@unix-os.sc.intel.com> (raw)
In-Reply-To: <20060329003012.GC2762@ucw.cz>; from pavel@suse.cz on Tue, Mar 28, 2006 at 04:30:13PM -0800
On Tue, Mar 28, 2006 at 04:30:13PM -0800, Pavel Machek wrote:
>
> Or maybe in i386 .c files :-). Could we just switch to BIGSMP mode by
> default? Intel claims it has no performance disadvatage, and distros
> want suspend, anyway...
After some more thought and consulting with Pavel and folks, the path of
least resistance for now seems like not to switch to bigsmp.
We will need to do a little bit more work to ensure that we can work the
physical flat mode (bigsmp) instead of logical flat mode in i386. Primarily
to ensure configs for SMP_SUSPEND, any memory hotplug prototype in i386 dont
break by choosing bigsmp as default to ensure transition is smooth.
Andrew, please help queuing this patch. (Since pavel just reverted the
HOTPLUG_CPU depends on X86_GENERICARCH recently in git9, people will now
see the funky error message that they have more than 8 cpus until this patch
is included.)
--
Cheers,
Ashok Raj
- Open Source Technology Center
Switching to automatic bigsmp causes an misleading error message, that
more then 8 cpus are detected, and user needs to select either X86_GENERICARCH
or X86_BIGSMP to handle.
Reason is we switched to bigsmp to avoid IP race when new cpu is comming up.
[bigsmp is nothing but using physical flat mode that can work for 1 .. 255 cpus]
[default is X86_PC, that uses logical flat mode up to 8 CPUs max]
Current x86_64 code uses bigsmp as default when hotplug is enabled.
It would be preferable to make bigsmp as default, and work the dependencies
of other related code like SMP_SUSPEND, and some related to memory hotplug
code for i386.
Current logical flat mode doesnt use shortcuts that cause the race by
using the send_IPI_mask() instead of shortcuts when HOTPLUG_CPU is enabled.
In the meantime this patch is the path of lease resistance.
We will switch to bigsmp default sometime soon, when we get to work it again.
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
-----------------------------------------------------------
arch/i386/kernel/mpparse.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
Index: linux-2.6.16-git19/arch/i386/kernel/mpparse.c
===================================================================
--- linux-2.6.16-git19.orig/arch/i386/kernel/mpparse.c
+++ linux-2.6.16-git19/arch/i386/kernel/mpparse.c
@@ -38,12 +38,6 @@
int smp_found_config;
unsigned int __initdata maxcpus = NR_CPUS;
-#ifdef CONFIG_HOTPLUG_CPU
-#define CPU_HOTPLUG_ENABLED (1)
-#else
-#define CPU_HOTPLUG_ENABLED (0)
-#endif
-
/*
* Various Linux-internal data structures created from the
* MP-table.
@@ -225,7 +219,14 @@ static void __devinit MP_processor_info
cpu_set(num_processors, cpu_possible_map);
num_processors++;
- if (CPU_HOTPLUG_ENABLED || (num_processors > 8)) {
+ /*
+ * Would be preferable to switch to bigsmp when CONFIG_HOTPLUG_CPU=y
+ * but we need to work other dependencies like SMP_SUSPEND etc
+ * before this can be done without some confusion.
+ * if (CPU_HOTPLUG_ENABLED || num_processors > 8)
+ * - Ashok Raj <ashok.raj@intel.com>
+ */
+ if (num_processors > 8) {
switch (boot_cpu_data.x86_vendor) {
case X86_VENDOR_INTEL:
if (!APIC_XAPIC(ver)) {
next prev parent reply other threads:[~2006-04-01 23:55 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-29 22:08 [rfc] fix Kconfig, hotplug_cpu is needed for swsusp Pavel Machek
2006-03-29 22:47 ` Andrew Morton
2006-03-29 23:09 ` Ashok Raj
2006-03-29 23:36 ` Nigel Cunningham
2006-03-29 23:47 ` Ashok Raj
2006-03-29 23:53 ` Nigel Cunningham
2006-03-30 0:12 ` Ashok Raj
2006-03-30 0:32 ` Nigel Cunningham
2006-03-30 0:13 ` Andrew Morton
2006-03-30 0:18 ` Nigel Cunningham
2006-03-30 3:01 ` Nigel Cunningham
[not found] ` <20060330030657.GA10405@mars.ravnborg.org>
2006-03-30 10:11 ` Roman Zippel
2006-03-30 8:24 ` Jan Engelhardt
2006-04-04 5:15 ` menuconfig search (Re: [rfc] fix Kconfig, hotplug_cpu is needed for swsusp) Randy.Dunlap
2006-04-04 6:01 ` Alexey Dobriyan
2006-04-04 15:12 ` Randy.Dunlap
2006-04-08 8:42 ` Jan Engelhardt
2006-04-09 2:29 ` Randy.Dunlap
2006-04-11 11:18 ` Jan Engelhardt
2006-03-30 8:41 ` [rfc] fix Kconfig, hotplug_cpu is needed for swsusp Pavel Machek
2006-03-30 16:17 ` Rafael J. Wysocki
2006-03-29 0:30 ` Pavel Machek
2006-04-01 23:55 ` Ashok Raj [this message]
2006-03-30 3:24 ` Andrew Morton
2006-03-30 13:00 ` Ashok Raj
2006-03-30 13:17 ` Pavel Machek
2006-03-30 13:05 ` Eric W. Biederman
2006-03-30 8:30 ` Pavel Machek
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=20060401155545.A7466@unix-os.sc.intel.com \
--to=ashok.raj@intel.com \
--cc=ak@muc.de \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ncunningham@cyclades.com \
--cc=pavel@suse.cz \
--cc=rjw@sisk.pl \
/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