Date: Fri, 28 Mar 2003 16:23:21 -0800 From: Peter Wemm <peter@wemm.org> To: des@ofug.org (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=) Cc: cvs-all@FreeBSD.org Subject: Re: Checksum/copy Message-ID: <20030329002321.BE6752A8C1@canning.wemm.org> In-Reply-To: <xzpr88sv3ss.fsf@flood.ping.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?= wrote:
> David Malone <dwmalone@maths.tcd.ie> writes:
> > On Thu, Mar 27, 2003 at 09:57:35AM +0100, des@ofug.org wrote:
> > > Might it be a good idea to have separate b{copy,zero} implementations
> > > for special purposes like pmap_{copy,zero}_page?
> > We do have a i686_pagezero already, which seems to be used in
> > pmap_zero_page - I guess it may not be well tuned to modern processors,
> > as it is almost 5 years old.
>
> i686_pagezero uses 'rep stosl' after an initial 'rep scasl' to check
> if the page was already zero (which is a pessimization unless we zero
> a lot of pages that are already zeroed). SSE can do far better than
> that.
i686_pagezero was written with SMP in mind. The cache state ends up in
a more favourable condition when sharing with other cpus.
Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030329002321.BE6752A8C1>
