From owner-cvs-src@FreeBSD.ORG Thu Mar 27 01:17:16 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 658F937B47A; Thu, 27 Mar 2003 01:17:08 -0800 (PST) Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A727440A0; Thu, 27 Mar 2003 00:57:39 -0800 (PST) (envelope-from des@ofug.org) Received: by flood.ping.uio.no (Postfix, from userid 2602) id 6AC055308; Thu, 27 Mar 2003 09:57:35 +0100 (CET) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: Bruce Evans From: des@ofug.org (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=) Date: Thu, 27 Mar 2003 09:57:35 +0100 In-Reply-To: <20030327180247.D1825@gamplex.bde.org> (Bruce Evans's message of "Thu, 27 Mar 2003 19:07:15 +1100 (EST)") Message-ID: User-Agent: Gnus/5.090015 (Oort Gnus v0.15) Emacs/21.2 References: <20030326225530.G2075@odysseus.silby.com> <20030327180247.D1825@gamplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, hits=-31.9 required=5.0 tests=AWL,EMAIL_ATTRIBUTION,IN_REP_TO,QUOTED_EMAIL_TEXT, REFERENCES,REPLY_WITH_QUOTES,USER_AGENT_GNUS_UA autolearn=ham version=2.50 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp) cc: cvs-src@FreeBSD.org cc: Mike Silbersack cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org cc: Nate Lawson Subject: Re: Checksum/copy X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Mar 2003 09:17:26 -0000 Bruce Evans writes: > I spent a lot of time on this about 7 years ago. See ~bde/cache on > freefall for old versions of programs that try lots of different > copy/read/write checksum methods. Better hardware made the differences > between various methods relatively small. One can probably do better > (50%?) for largish (1K+ ?) buffers using SSE instructions on i386's > now. Might it be a good idea to have separate b{copy,zero} implementations for special purposes like pmap_{copy,zero}_page? Since these cases copy or zero a fixed and relatively large amount of data, they should lend themselves well to optimization. Zeroing a 4096-byte page on an SSE-enabled i386 should take no more than 35 SSE instructions (one to save the contents of the register, one to zero the register, 32 to actually zero the page and one to restore the previous contents of the register) and a handful of fast integer instructions for setup. DES --=20 Dag-Erling Sm=F8rgrav - des@ofug.org