From owner-cvs-all Thu Mar 20 12: 0:50 2003 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3B2BD37B401; Thu, 20 Mar 2003 12:00:46 -0800 (PST) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5416B43FAF; Thu, 20 Mar 2003 12:00:45 -0800 (PST) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.8/8.12.8) with ESMTP id h2KK0iRv015560 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 20 Mar 2003 15:00:44 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id h2KK0dQ04220; Thu, 20 Mar 2003 15:00:39 -0500 (EST) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15994.7655.668902.294563@grasshopper.cs.duke.edu> Date: Thu, 20 Mar 2003 15:00:39 -0500 (EST) To: Jake Burkholder Cc: Peter Grehan , src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/powerpc/powerpc fpu.c genassym.c swtch.S trap.c In-Reply-To: <20030320144838.O76446@locore.ca> References: <200303201028.h2KASKU9090258@repoman.freebsd.org> <20030320110240.A3985@grasshopper.cs.duke.edu> <20030320144838.O76446@locore.ca> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid 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 Jake Burkholder writes: > Apparently, On Thu, Mar 20, 2003 at 11:02:40AM -0500, > Andrew Gallatin said words to the effect of; > > > Peter Grehan [grehan@FreeBSD.org] wrote: > > > grehan 2003/03/20 02:28:20 PST > > > > > > FreeBSD src repository > > > > > > Modified files: > > > sys/powerpc/powerpc fpu.c genassym.c swtch.S trap.c > > > Log: > > > Enable the FPU on first use per-thread and save state across context > > > switches. Not as lazy as it could be. Changing FPU state with sigcontext > > > still TODO. > > > > I think I agree w/you that lazy might not be the way to go. I'm still > > planning to see what the affect of non-lazy (proactive?) FPU state > > switching would be on the alpha port. > > By non-lazy do you mean restore the state immediately in cpu_switch? > Instead of allowing the process to return to userland with floating > point disabled and restoring on the first FP instruction? > Yes. At least on the alpha, gcc uses the floating point registers/instructions extensively. So even a process which isn't intentionally using floating point will likely take a FEN trap. Jason Thorpe did some nice analysis of this (which Peter G. pointed me at). http://mail-index.netbsd.org/port-alpha/2001/07/13/0003.html From what I can see, NetBSD still seems to be using lazy FP though. Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message