public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] Can't boot in SMP with kernel 2.5.50 ia64
@ 2002-12-19  7:53 Xavier Bru
  2002-12-19 20:40 ` David Mosberger
  2002-12-20  8:23 ` Xavier Bru
  0 siblings, 2 replies; 3+ messages in thread
From: Xavier Bru @ 2002-12-19  7:53 UTC (permalink / raw)
  To: linux-ia64

Hello,

Booting 2.5.50 with David's patch, it seems we can't boot in SMP on an 
ia64 machine. We get the message: SMP mode deactivated.
Problem is due to smp_prepare_cpus() declaring max_cpus as "unsigned
int" and testing against the -1 value.
Problem was not seen in 2.5.45 because max_cpus was initialized to
UINT_MAX.

Boot in SMP is OK with the following patch:

diff --exclude-from /home/xb/proc/diff.exclude -Nur 2.5.50.ref/arch/ia64/kernel/smpboot.c 2.5.50/arch/ia64/kernel/smpboot.c
--- 2.5.50.ref/arch/ia64/kernel/smpboot.c	Wed Dec 18 11:15:48 2002
+++ 2.5.50/arch/ia64/kernel/smpboot.c	Wed Dec 18 15:11:52 2002
@@ -472,7 +472,7 @@
  * Cycle through the APs sending Wakeup IPIs to boot each.
  */
 void __init
-smp_prepare_cpus (unsigned int max_cpus)
+smp_prepare_cpus (int max_cpus)
 {
 	int boot_cpu_id = hard_smp_processor_id();
 
diff --exclude-from /home/xb/proc/diff.exclude -Nur 2.5.50.ref/include/linux/smp.h 2.5.50/include/linux/smp.h
--- 2.5.50.ref/include/linux/smp.h	Wed Dec 18 11:15:48 2002
+++ 2.5.50/include/linux/smp.h	Wed Dec 18 15:28:47 2002
@@ -34,7 +34,7 @@
 /*
  * Prepare machine for booting other CPUs.
  */
-extern void smp_prepare_cpus(unsigned int max_cpus);
+extern void smp_prepare_cpus(int max_cpus);
 
 /*
  * Bring a CPU up

-- 

 Sincères salutations.
_____________________________________________________________________
 
Xavier BRU                 BULL ISD/R&D/INTEL office:     FREC B1-422
tel : +33 (0)4 76 29 77 45                    http://www-frec.bull.fr
fax : +33 (0)4 76 29 77 70                 mailto:Xavier.Bru@bull.net
addr: BULL, 1 rue de Provence, BP 208, 38432 Echirolles Cedex, FRANCE
_____________________________________________________________________


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Linux-ia64] Can't boot in SMP with kernel 2.5.50 ia64
  2002-12-19  7:53 [Linux-ia64] Can't boot in SMP with kernel 2.5.50 ia64 Xavier Bru
@ 2002-12-19 20:40 ` David Mosberger
  2002-12-20  8:23 ` Xavier Bru
  1 sibling, 0 replies; 3+ messages in thread
From: David Mosberger @ 2002-12-19 20:40 UTC (permalink / raw)
  To: linux-ia64

>>>>> On Thu, 19 Dec 2002 08:53:06 +0100 (NFT), Xavier Bru  <Xavier.Bru@bull.net> said:

  Xavier> Hello,

  Xavier> Booting 2.5.50 with David's patch, it seems we can't boot in
  Xavier> SMP on an ia64 machine. We get the message: SMP mode
  Xavier> deactivated.  Problem is due to smp_prepare_cpus() declaring
  Xavier> max_cpus as "unsigned int" and testing against the -1 value.
  Xavier> Problem was not seen in 2.5.45 because max_cpus was
  Xavier> initialized to UINT_MAX.

I think the test in smp_prepare_cpus() is bogus.  I changed it to test
just against 0 (as is done in the x86 version of smpboot.c).

	--david


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Linux-ia64] Can't boot in SMP with kernel 2.5.50 ia64
  2002-12-19  7:53 [Linux-ia64] Can't boot in SMP with kernel 2.5.50 ia64 Xavier Bru
  2002-12-19 20:40 ` David Mosberger
@ 2002-12-20  8:23 ` Xavier Bru
  1 sibling, 0 replies; 3+ messages in thread
From: Xavier Bru @ 2002-12-20  8:23 UTC (permalink / raw)
  To: linux-ia64

David Mosberger writes:
 > >>>>> On Thu, 19 Dec 2002 08:53:06 +0100 (NFT), Xavier Bru  <Xavier.Bru@bull.net> said:
 > 
 >   Xavier> Hello,
 > 
 >   Xavier> Booting 2.5.50 with David's patch, it seems we can't boot in
 >   Xavier> SMP on an ia64 machine. We get the message: SMP mode
 >   Xavier> deactivated.  Problem is due to smp_prepare_cpus() declaring
 >   Xavier> max_cpus as "unsigned int" and testing against the -1 value.
 >   Xavier> Problem was not seen in 2.5.45 because max_cpus was
 >   Xavier> initialized to UINT_MAX.
 > 
 > I think the test in smp_prepare_cpus() is bogus.  I changed it to test
 > just against 0 (as is done in the x86 version of smpboot.c).
 > 
 > 	--david

Hi David,
Thanks for answering my mail.
I just changed to "int" because I saw that max_cpus can be modified at 
boot time (maxcpus=...), and get_option() provides an int.
I think this is why test was done against a negative or null value.

"Joyeux Noel et Bonne Annee a tous".

-- 

 Sincères salutations.
_____________________________________________________________________
 
Xavier BRU                 BULL ISD/R&D/INTEL office:     FREC B1-422
tel : +33 (0)4 76 29 77 45                    http://www-frec.bull.fr
fax : +33 (0)4 76 29 77 70                 mailto:Xavier.Bru@bull.net
addr: BULL, 1 rue de Provence, BP 208, 38432 Echirolles Cedex, FRANCE
_____________________________________________________________________



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-12-20  8:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-19  7:53 [Linux-ia64] Can't boot in SMP with kernel 2.5.50 ia64 Xavier Bru
2002-12-19 20:40 ` David Mosberger
2002-12-20  8:23 ` Xavier Bru

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox