Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jan 2007 20:41:44 +0100
From:      Ivan Voras <ivoras@fer.hr>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        freebsd-current@freebsd.org, freebsd-arch@freebsd.org
Subject:   Optimized copy&move (was: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs)
Message-ID:  <45AE7BF8.10703@fer.hr>
In-Reply-To: <20070117224812.Q23194@besplex.bde.org>
References:  <3bbf2fe10607250813w8ff9e34pc505bf290e71758@mail.gmail.com>	<3bbf2fe10607251004wf94e238xb5ea7a31c973817f@mail.gmail.com>	<3bbf2fe10607261127p3f01a6c3w80027754f7d4e594@mail.gmail.com>	<3bbf2fe10607281004o6727e976h19ee7e054876f914@mail.gmail.com>	<3bbf2fe10701160851r79b04464m2cbdbb7f644b22b6@mail.gmail.com>	<20070116154258.568e1aaf@pleiades.nextvenue.com>	<b1fa29170701161355lc021b90o35fa5f9acb5749d@mail.gmail.com>	<eoji7s$cit$2@sea.gmane.org>	<b1fa29170701161425n7bcfe1e5m1b8c671caf3758db@mail.gmail.com>	<eojlnb$qje$1@sea.gmane.org>	<b1fa29170701161534n1f6c3803tbb8ca60996d200d9@mail.gmail.com>	<eojok9$449$1@sea.gmane.org> <20070117134022.V18339@besplex.bde.org> <20070117224812.Q23194@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig238686BF5CDEB8B50F4252DA
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bruce Evans wrote:

> And MMX/XMM registers ar not needed to get movnt on machines with SSE2,=

> since movnti is part of SSE2.  This reduces the advantages of using MMX=
/XMM
> registers on P4's and A64's in 32-bit mode to the non-nt parts of the
> above (fully cached case), which I think are less important than the nt=

> parts.

Hmm, I'm looking at i386/i386/support.s and there are several versions
of bcopy and bmove functions, including some that optimize by using FPU
registers (large_i586_bcopy_loop), and a version that uses movnti
(sse2_pagezero), but I can't find the bit of magic which glues them to
bzero() call.

Also, as as I can tell by the comments, the FPU version works by
manually saving context... why is this possible (i.e. won't something
preempt it?)


--------------enig238686BF5CDEB8B50F4252DA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFrnv5ldnAQVacBcgRAiR4AKCDQ6LnV8f1easSMto1WjFvD74GPgCfdciE
08MOyCrxIQhroC5tgvhqJo0=
=7h/R
-----END PGP SIGNATURE-----

--------------enig238686BF5CDEB8B50F4252DA--



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