From smp@Victor.StevesCafe.com  Sat Aug  9 12:31:08 1997
Received: from Victor.StevesCafe.com (Victor.StevesCafe.com [205.168.119.140])
          by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA09294
          for <FreeBSD-gnats-submit@freebsd.org>; Sat, 9 Aug 1997 12:31:06 -0700 (PDT)
Received: (from root@localhost)
	by Victor.StevesCafe.com (8.8.6/8.8.5) id NAA04144;
	Sat, 9 Aug 1997 13:29:52 -0600 (MDT)
Message-Id: <199708091929.NAA04144@Victor.StevesCafe.com>
Date: Sat, 9 Aug 1997 13:29:52 -0600 (MDT)
From: smp@csn.net
Reply-To: smp@csn.net
To: FreeBSD-gnats-submit@freebsd.org
Subject: SMP kernel freezes on machines with >2 CPUs.
X-Send-Pr-Version: 3.2

>Number:         4255
>Category:       kern
>Synopsis:       SMP kernel freezes on machines with >2 CPUs.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug  9 12:40:01 PDT 1997
>Closed-Date:    Wed Jun 23 16:05:04 PDT 1999
>Last-Modified:  Wed Jun 23 16:05:40 PDT 1999
>Originator:     Steve Passe
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
Steve's Cafe
>Environment:

	SMP kernel on machines with >2 CPUs.

>Description:

	When the kernel config file "options NCPU=x" line has a value for x
	that doesn't agree with the actual number of CPUs on the motherboard
	the kernel will usually freeze during boot.

>How-To-Repeat:

	set "options NCPU=x" to 2 on a board with 4 CPUs.

>Fix:
	
	For now just make sure that "options NCPU=x" agrees with the actual
	CPU count of your motherboard.  The default is NCPU=2, so most
	users needn't bother.  Those with hardware containing 4 CPUs
	will have to make sure to add "options NCPU=4" to their config
	files for now.

	The correct fix is to examine mpboot.s and determine why the
	additional CPUs get into the race for the bootlock (my current
	theory as to the cause of the problem).


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->analyzed 
State-Changed-By: fsmp 
State-Changed-When: Sun Aug 10 12:32:47 PDT 1997 
State-Changed-Why:  

Committed a 'cheap fix' to the source tree. 
State-Changed-From-To: analyzed->closed 
State-Changed-By: msmith 
State-Changed-When: Wed Jun 23 16:05:04 PDT 1999 
State-Changed-Why:  
Lock-related problem appears to have been fixed elsewhere. 
>Unformatted:

	Changed mp_machdep.c to print the above work-around then panic.
	Not ideal, but at least the user is informed of a solution and
	isn't left scratching their head...
