From owner-freebsd-smp Mon Apr 12 20:34:38 1999 Delivered-To: freebsd-smp@freebsd.org Received: from fire.starkreality.com (fire.starkreality.com [208.24.48.226]) by hub.freebsd.org (Postfix) with ESMTP id BED1014D53; Mon, 12 Apr 1999 20:34:33 -0700 (PDT) (envelope-from caesar@starkreality.com) Received: from armageddon (armageddon.starkreality.com [208.24.48.227]) by fire.starkreality.com (8.9.3/8.9.2) with SMTP id WAA01039; Mon, 12 Apr 1999 22:31:42 -0500 (CDT) Message-Id: <4.1.19990412222940.03bde1e0@fire.starkreality.com> X-Sender: caesar@fire.starkreality.com X-Mailer: QUALCOMM Windows Eudora Pro Version 4.1 Date: Mon, 12 Apr 1999 22:31:28 -0500 To: Tor.Egge@fast.no From: "William S. Duncanson" Subject: Re: SMP broken in -CURRENT? Cc: freebsd-smp@FreeBSD.ORG, freebsd-current@FreeBSD.ORG In-Reply-To: <199904130213.EAA29557@midten.fast.no> References: <4.1.19990412191627.009b3100@imap.colltech.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org That fixes it, thanks. At 04:13 4/13/99 +0200, Tor.Egge@fast.no wrote: >> I haven't been able to get a working SMP kernel out of -CURRENT recently. >> I don't know exactly when it broke, because I usually rebuild on a weekly >> basis. The kernel hangs after: >> APIC_IO: Testing 8254 interrupt delivery >> and doesn't ever come back (panic or otherwise). >> >> The one thing that I noticed is that on the older kernels, CPU#1 is >> launched after the APIC_IO Testing and Routing. On the newer kernels, >> CPU#1 is launched far earlier. >> >> Anybody have any ideas? > >You might want to try this patch, which disables the early start of CPU#1. > >Index: mp_machdep.c >=================================================================== >RCS file: /home/ncvs/src/sys/i386/i386/mp_machdep.c,v >retrieving revision 1.96 >diff -u -r1.96 mp_machdep.c >--- mp_machdep.c 1999/04/11 00:43:43 1.96 >+++ mp_machdep.c 1999/04/13 02:08:54 >@@ -1930,9 +1930,11 @@ > for (i = 0; i < mp_ncpus; i++) { > bcopy( (int *) PTD + KPTDI, (int *) IdlePTDS[i] + KPTDI, NKPDE * sizeof >(int)); > } >+#if 0 > wait_ap(1000000); > if (smp_started == 0) > printf("WARNING: Failed to start all APs\n"); >+#endif > > /* number of APs actually started */ > return mp_ncpus - 1; > > > > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-smp" in the body of the message William S. Duncanson caesar@starkreality.com The driving force behind the NC is the belief that the companies who brought us things like Unix, relational databases, and Windows can make an appliance that is inexpensive and easy to use if they choose to do that. -- Scott Adams To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message