From owner-freebsd-arch Wed May 31 22:24:11 2000 Delivered-To: freebsd-arch@freebsd.org Received: from obie.softweyr.com (obie.softweyr.com [204.68.178.33]) by hub.freebsd.org (Postfix) with ESMTP id ACE4337BA9B for ; Wed, 31 May 2000 22:24:06 -0700 (PDT) (envelope-from wes@softweyr.com) Received: from softweyr.com (Foolstrustident!@homer.softweyr.com [204.68.178.39]) by obie.softweyr.com (8.8.8/8.8.8) with ESMTP id XAA04041; Wed, 31 May 2000 23:23:07 -0600 (MDT) (envelope-from wes@softweyr.com) Message-ID: <3935F40E.761717F5@softweyr.com> Date: Wed, 31 May 2000 23:26:38 -0600 From: Wes Peters Organization: Softweyr LLC X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 4.0-STABLE i386) X-Accept-Language: en MIME-Version: 1.0 To: mjacob@feral.com Cc: Terry Lambert , Chuck Paterson , Doug Rabson , arch@FreeBSD.ORG Subject: Re: Sparc & api for asynchronous task execution (2) References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Matthew Jacob wrote: > > 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. UltraSPARC stacks 8 sets of 32 windows in an almost 3-D manner on the chip, and uses multiple ports into the register file to access registers at different stages of the pipeline. It also has additional scratchpad registers for interrupt contexts, alleviating register window overflows during interrupt processing. Read more at: http://php.iupui.edu/~rsosborn/Scholars_Quest/References/Gathering/Reference_Tools/Bibl/Test-bibl-html.html -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC wes@softweyr.com http://softweyr.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message