Skip site navigation (1)Skip section navigation (2)
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>