From owner-freebsd-current Sun Mar 2 9: 5:26 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 444F837B401 for ; Sun, 2 Mar 2003 09:05:23 -0800 (PST) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0A6FB43FA3 for ; Sun, 2 Mar 2003 09:05:21 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id EAA10228; Mon, 3 Mar 2003 04:04:58 +1100 Date: Mon, 3 Mar 2003 04:06:41 +1100 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Poul-Henning Kamp Cc: "M. Warner Losh" , Subject: Re: Any ideas why we can't even boot a i386 ? In-Reply-To: <20030302001614.H26391-100000@gamplex.bde.org> Message-ID: <20030303034332.Y30986-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, 2 Mar 2003, Bruce Evans wrote: > On Fri, 28 Feb 2003, Poul-Henning Kamp wrote: > > > My main concern would be if the chips have the necessary "umphf" > > to actually do a real-world job once they're done running all the > > overhead of 5.0-R. The lack of cmpxchg8 makes the locking horribly > > expensive. > > Actually, the lack of cmpxchg8 only makes locking more expensive. It's ^^^^ I.e., strictly more expensive, but not much more. > [cycle types for Athlon1600 running 386 code] Here are whorldstone benchmarks for an Athlon. The 386 version was a whole 0.3% slower for real time (3.2% slower for system time). To get the system to run I had to unbreak panicifcpuunsupported() so that it doesn't gratuitously reject Athlons (CPUs that are upward compatible should not be rejected), and had to replace pmap.o by the non-386 version since the 386 version caused strange errors. It's not clear why the 386 version doesn't work -- the only internal difference in pmap.c is that the 386 version uses invltlb() and other versions use invlpg(). Using invlpg() would probably make things more than 0.3% slower. Selecting the best inv*() was the main optimization that we dropped when 386 support was made incompatible with support for later CPUs. world with my kernel configured for I486_CPU through I686_CPU %%% 1532 MHz AthlonXP 1600 256MB 2 ATA drives async mounted /usr/obj (src on separate drive) -------------------------------------------------------------- >>> elf make world completed on Sun Mar 2 16:30:55 EST 2003 (started Sun Mar 2 15:53:15 EST 2003) -------------------------------------------------------------- 2260.31 real 1729.55 user 326.24 sys 40208 maximum resident set size 2248 average shared memory size 1762 average unshared data size 127 average unshared stack size 14959205 page reclaims 25630 page faults 0 swaps 43481 block input operations 3963 block output operations 0 messages sent 0 messages received 5 signals received 313523 voluntary context switches 607085 involuntary context switches %%% world with my kernel configured for I386_CPU except for pmap.o %%% 1532 MHz AthlonXP 1600 256MB 2 ATA drives async mounted /usr/obj (src on separate drive) -------------------------------------------------------------- >>> elf make world completed on Mon Mar 3 03:00:45 EST 2003 (started Mon Mar 3 02:22:57 EST 2003) -------------------------------------------------------------- 2267.98 real 1730.21 user 336.73 sys 40208 maximum resident set size 2245 average shared memory size 1756 average unshared data size 127 average unshared stack size 14958931 page reclaims 26265 page faults 0 swaps 44148 block input operations 3898 block output operations 0 messages sent 0 messages received 6 signals received 313986 voluntary context switches 598687 involuntary context switches %%% Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message