From owner-freebsd-arch Wed May 31 20:38:21 2000 Delivered-To: freebsd-arch@freebsd.org Received: from feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (Postfix) with ESMTP id 65C0337B9FB for ; Wed, 31 May 2000 20:38:19 -0700 (PDT) (envelope-from mjacob@feral.com) Received: from semuta.feral.com (semuta [192.67.166.70]) by feral.com (8.9.3/8.9.3) with ESMTP id UAA29653; Wed, 31 May 2000 20:33:31 -0700 Date: Wed, 31 May 2000 20:36:28 -0700 (PDT) From: Matthew Jacob Reply-To: mjacob@feral.com To: Terry Lambert Cc: Wes Peters , Chuck Paterson , Doug Rabson , arch@FreeBSD.ORG Subject: Re: Sparc & api for asynchronous task execution (2) In-Reply-To: <200005232330.QAA01056@usr05.primenet.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This is a late response on this (I was away for three weeks), but I can report some historical context on sparc register windows and performance issues with them- in going to the DKI/DDI in the SVr4 port, adding the up-tree/down-tree calls for all the DDI calls cost, initially, a 20% performance hit because we really started overflowing windows substantially more with deeper call stacks than had been there in SunOS 4.0. This made the DKI/DDI extremely unpopular within Sun (for obvious reasons other than rules are annoying). I believe that compilers have gotten substantially better since then so I think that this is much less of an issue than it used to be. There are also some other tricks that can make life easier to manage window spills/unspills. The orig SPARC architecture specified a maximum of 32 windows. I don't believe any chips were done deeper than 8- which certainly was and is too small. -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message