Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Apr 2007 17:36:06 +1000
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Dag-Erling =?us-ascii?Q?=3D=3Fus-ascii=3Aiso-8859-1=3FQ=3FSm=3DF8rgrav?= =?us-ascii?B?Pz0=?= <des@des.no>, ticso@cicely.de, freebsd-fs@FreeBSD.ORG, freebsd-current@FreeBSD.ORG, Pawel Jakub Dawidek <pjd@FreeBSD.ORG>
Subject:   Re: ZFS committed to the FreeBSD base.
Message-ID:  <20070412073605.GB834@turion.vk2pj.dyndns.org>
In-Reply-To: <20070411214911.GA38351@VARK.MIT.EDU>
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>

next in thread | previous in thread | raw e-mail | index | archive | help

--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 <das@freebsd.org> 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--



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