Subject: Re: Multiprocessor support
To: Andreas Gustafsson <gson@gson.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-xen
Date: 09/05/2007 20:16:30
On Wed, Sep 05, 2007 at 08:05:33PM +0300, Andreas Gustafsson wrote:
> Manuel Bouyer wrote:
> > Maybe try without acpi ?
> > No need to build a new kernel to try, just
> > boot -c
> > disable acpi
> > quit
> 
> That's easier said than done, because when running under HVM, the
> countdown after the "Press return to boot now, any other key for boot
> menu" message goes by in the blink of an eye.  Maybe qemu optimizes
> away a delay loop or something?

I think it's a BIOS function that is not working properly, or maybe a timer.
I could interrupt it by keeping pressing a key while it's still in BIOS
though.

> 
> Anyway, I built a new kernel:
> 
>    include "arch/i386/conf/GENERIC.MP"
>    no fdc0 at isa?
>    no fd*  at fdc?
>    no acpi0 at mainbus0
> 
> and tried it.  It hung attaching the fourth CPU core:
> 
>   >> NetBSD/i386 BIOS Boot, Revision 3.3
>   >> (root@guru.araneus.fi, Mon Aug  6 21:18:55 EEST 2007)
>   >> Memory: 639/261120 k
>   Press return to boot now, any other key for boot menu
>   booting hd0a:netbsd - starting in 0 
>   8925552+407556+361624 [439424+422099]=0xa13594
>   BIOS CFG: Model-SubM-Rev: fc-00-01, 0x4074<EBDA,KBDINT,RTC,IC2,KBDF>
>   Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
>       2006, 2007
>       The NetBSD Foundation, Inc.  All rights reserved.
>   Copyright (c) 1982, 1986, 1989, 1991, 1993
>       The Regents of the University of California.  All rights reserved.
> 
>   NetBSD 4.99.30 (NOACPI.MP) #0: Wed Sep  5 19:55:10 EEST 2007
> 	  root@dhcppc1:/usr/src/sys/arch/i386/compile/NOACPI.MP
>   total memory = 255 MB
>   rbus: rbus_min_start set to 0x40000000
>   avail memory = 240 MB
>   mainbus0 (root)
>   mainbus0: Intel MP Specification (Version 1.4) (_HVMCPU_ XEN         )
>   cpu0 at mainbus0 apid 0: (boot processor)
>   cpu0: Intel Core 2 (Merom) (686-class), 2400.24 MHz, id 0x6f7
>   cpu0: "Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz"
>   cpu1 at mainbus0 apid 1: (application processor)
>   cpu1: Intel Core 2 (Merom) (686-class), 2400.69 MHz, id 0x6f7
>   cpu1: "Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz"
>   cpu2 at mainbus0 apid 2: (application processor)
>   cpu2: Intel Core 2 (Merom) (686-class), 2400.35 MHz, id 0x6f7
>   cpu2: "Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz"
>   cpu3 at mainbus0 apid 3: (application processor)
> 
> Again, when I tried to destroy the hung VM, the system locked up.

Could be interesting to try with a netbsd-4 SMP kernel.
Also, it would be interesting to try with a DIAGNOSTIC+LOCKDEBUG kernel.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--