From owner-cvs-all Thu Oct 25 15:24:38 2001 Delivered-To: cvs-all@freebsd.org Received: from beppo.feral.com (beppo.feral.com [192.67.166.79]) by hub.freebsd.org (Postfix) with ESMTP id B8A2337B405; Thu, 25 Oct 2001 15:24:32 -0700 (PDT) Received: from mailhost.feral.com (mjacob@mailhost.feral.com [192.67.166.1]) by beppo.feral.com (8.11.3/8.11.3) with ESMTP id f9PMO6H00266; Thu, 25 Oct 2001 15:24:06 -0700 (PDT) (envelope-from mjacob@feral.com) Date: Thu, 25 Oct 2001 15:24:06 -0700 (PDT) From: Matthew Jacob X-Sender: mjacob@beppo Reply-To: mjacob@feral.com To: Doug Rabson Cc: Luigi Rizzo , John Baldwin , Jonathan Lemon , cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/fxp if_fx In-Reply-To: <20011025231245.K549-100000@salmon.nlsystems.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Historically spekaing, the reason to not have floating point in the kernel has mostly to do with the complications of saving pipelined user fpu context and state. That said, the pdp-11 kernels often used the floating point to get some 32 bit 'long int' things done. And the fastest software RAID-V I've known was at NASA/Ames on the Convex 3280s- they used the otherwise unused vector units for parity calculations- this gave write performance for a 22 wide stripe on a terabyte fileystem to be at about 88% of theoretical maximum, which sure aint' bad. On Thu, 25 Oct 2001, Doug Rabson wrote: > On Thu, 25 Oct 2001, Luigi Rizzo wrote: > > > On Thu, Oct 25, 2001 at 10:33:58PM +0100, Doug Rabson wrote: > > >>> Aargh. I really shouldn't do late night commits. Remove a floating point > > >>> multiply, and replace it with a close equivalent. 1.488 =~ 1.5 > > >> > > >> Heh. Floating point in the kernel is bad.. mmmkay? > > > > > > Its perfectly fine on ia64 though - integer multiplies are done with float > > > registers... > > > > does it mean that integer multiply in the kernel is bad on the ia64 :) > > Not really - its reasonably quick. They just didn't bother to add any > integer multipliers when there were two perfectly good floating point > units going idle. Moving integers in and out of float registers is quick > and easy so it actually makes sense. Divides are done with floating point > too. > > -- > Doug Rabson Mail: dfr@nlsystems.com > Phone: +44 20 8348 6160 > > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message