From owner-freebsd-current@FreeBSD.ORG Thu Apr 12 07:36:26 2007 Return-Path: X-Original-To: freebsd-current@FreeBSD.ORG Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C6B7516A400; Thu, 12 Apr 2007 07:36:26 +0000 (UTC) (envelope-from peterjeremy@optushome.com.au) Received: from turion.vk2pj.dyndns.org (c220-239-3-125.belrs4.nsw.optusnet.com.au [220.239.3.125]) by mx1.freebsd.org (Postfix) with ESMTP id 3777513C455; Thu, 12 Apr 2007 07:36:25 +0000 (UTC) (envelope-from peterjeremy@optushome.com.au) Received: from turion.vk2pj.dyndns.org (localhost.vk2pj.dyndns.org [127.0.0.1]) by turion.vk2pj.dyndns.org (8.13.8/8.13.8) with ESMTP id l3C7a9qD001051; Thu, 12 Apr 2007 17:36:09 +1000 (EST) (envelope-from peter@turion.vk2pj.dyndns.org) Received: (from peter@localhost) by turion.vk2pj.dyndns.org (8.13.8/8.13.8/Submit) id l3C7a6bW001050; Thu, 12 Apr 2007 17:36:06 +1000 (EST) (envelope-from peter) Date: Thu, 12 Apr 2007 17:36:06 +1000 From: Peter Jeremy To: Dag-Erling =?us-ascii?Q?=3D=3Fus-ascii=3Aiso-8859-1=3FQ=3FSm=3DF8rgrav?= =?us-ascii?B?Pz0=?= , ticso@cicely.de, freebsd-fs@FreeBSD.ORG, freebsd-current@FreeBSD.ORG, Pawel Jakub Dawidek Message-ID: <20070412073605.GB834@turion.vk2pj.dyndns.org> References: <20070406025700.GB98545@garage.freebsd.pl> <86k5wo55s0.fsf@dwp.des.no> <20070407203411.GJ8831@cicely12.cicely.de> <86wt0n3mxv.fsf@dwp.des.no> <20070411214911.GA38351@VARK.MIT.EDU> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="QTprm0S8XgL7H0Dt" Content-Disposition: inline In-Reply-To: <20070411214911.GA38351@VARK.MIT.EDU> X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc User-Agent: Mutt/1.5.14 (2007-02-12) Cc: Subject: Re: ZFS committed to the FreeBSD base. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2007 07:36:26 -0000 --QTprm0S8XgL7H0Dt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2007-Apr-11 17:49:11 -0400, David Schultz wrote: >As I recall, Solaris 10 targets PPro and later processors, whereas >FreeBSD supports everything back to a 486DX. Hence we can't >assume that cmpxchg8b is available. There's a feature bit (CPUID_CX8) that advertises the availability of cmpxchg8b (and maybe some related instructions). My pre-MMX 586 has this bit set so I presume anything later than 486 will support it. (I'm not sure about the low-end VIA, GEODE etc clones). > The last time I remember this >coming up, people argued that we had to do things slow way in the >default kernel for compatibility. I agree that GENERIC should run on lowest-common-denominator hardware (the definition of that is a subject for a different thread). GENERIC performance could be enhanced by using an indirect call for 8-byte atomic instructions and selecting between the cmpxchg8b and alternative implementation as part of the CPU startup (much like i586_bcopy). If CPU_486 is not defined, you code could inline the cmpxchg8b-based variant. --=20 Peter Jeremy --QTprm0S8XgL7H0Dt Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFGHeFl/opHv/APuIcRAjDaAJsG9QfBNkAk5Xvpx818Ut28xe6IFQCffK1/ mJFSlNMN0zjm0/NGbm7KL7A= =gBQ2 -----END PGP SIGNATURE----- --QTprm0S8XgL7H0Dt--