Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jan 2002 19:49:04 -0800
From:      Peter Wemm <peter@wemm.org>
To:        Mark Murray <mark@grondar.za>
Cc:        Chris Faulhaber <jedgar@fxp.org>, scottl@FreeBSD.ORG, smp@FreeBSD.ORG
Subject:   Re: P5 vs. SMP, part 2 
Message-ID:  <20020112034904.7784A38FD@overcee.netplex.com.au>
In-Reply-To: <200201112015.g0BKFE103071@grimreaper.grondar.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Mark Murray wrote:
> > I wonder how many dual P5's are still being used :/
> 
> I have one (2xP5 @200MHz); I use it only in desktop mode, and it
> launches X and Mozilla-CURRENT very slowly. I'm running CURRENT.

The good news is that I found part of the problem.  Fix:

Index: machdep.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/machdep.c,v
retrieving revision 1.385.2.21
diff -u -1 -2 -r1.385.2.21 machdep.c
--- machdep.c	2001/12/13 19:18:00	1.385.2.21
+++ machdep.c	2002/01/12 03:35:12
@@ -1093,24 +1093,25 @@
 void
 cpu_setregs(void)
 {
 	unsigned int cr0;
 
 	cr0 = rcr0();
 	cr0 |= CR0_NE;			/* Done by npxinit() */
 	cr0 |= CR0_MP | CR0_TS;		/* Done at every execve() too. */
 #ifdef I386_CPU
 	if (cpu_class != CPUCLASS_386)
 #endif
 		cr0 |= CR0_WP | CR0_AM;
+	cr0 &= ~(CR0_CD | CR0_NW);
 	load_cr0(cr0);
 	load_gs(_udatasel);
 }
 
 static int
 sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS)
 {
 	int error;
 	error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2,
 		req);
 	if (!error && req->newptr)
 		resettodr();


The problem is that the AP cpus were running with the CR0_CD (cache disable)
and CR0_NW (cache writethrough, not writeback).  This is very bad. :-]

PPro and above bioses seem to cause the AP cpus enter the kernel with cache
enabled, so that this looks like it should be a p5/i586 problem only.

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020112034904.7784A38FD>