From owner-freebsd-alpha Wed Sep 4 15:33: 8 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3231737B400; Wed, 4 Sep 2002 15:33:06 -0700 (PDT) Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B48743E3B; Wed, 4 Sep 2002 15:33:05 -0700 (PDT) (envelope-from ticso@cicely5.cicely.de) Received: from cicely5.cicely.de (cicely5.cicely.de [IPv6:3ffe:400:8d0:301:200:92ff:fe9b:20e7]) by srv1.cosmo-project.de (8.12.5/8.12.5) with ESMTP id g84MWv6i062463 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Thu, 5 Sep 2002 00:33:01 +0200 (CEST) (envelope-from ticso@cicely5.cicely.de) Received: from cicely5.cicely.de (localhost [IPv6:::1]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g84MWuUV090159 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 5 Sep 2002 00:32:57 +0200 (CEST)?g (envelope-from ticso@cicely5.cicely.de) Received: (from ticso@localhost) by cicely5.cicely.de (8.12.1/8.12.1/Submit) id g84MWuxH090158; Thu, 5 Sep 2002 00:32:56 +0200 (CEST)?g (envelope-from ticso) Date: Thu, 5 Sep 2002 00:32:56 +0200 From: Bernd Walter To: Andrew Gallatin Cc: John Baldwin , freebsd-alpha@FreeBSD.ORG Subject: Re: alpha performance on -current Message-ID: <20020904223255.GI87724@cicely5.cicely.de> Reply-To: ticso@cicely.de References: <15734.29725.515274.183629@grasshopper.cs.duke.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <15734.29725.515274.183629@grasshopper.cs.duke.edu> X-Operating-System: FreeBSD cicely5.cicely.de 5.0-CURRENT i386 User-Agent: Mutt/1.5.1i Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Wed, Sep 04, 2002 at 04:59:09PM -0400, Andrew Gallatin wrote: > > # ./lat_syscall null > Simple syscall: 2.0178 microseconds > # ./lat_syscall null > Simple syscall: 2.0333 microseconds > # sysctl -w kern.giant.proc=0 > kern.giant.proc: 1 -> 0 > # ./lat_syscall null > Simple syscall: 1.6360 microseconds > # ./lat_syscall null > Simple syscall: 1.6333 microseconds > > > Is the locking overhead this bad on x86? It looks downright > embarrassing on alpha. Can anything be done about it? Are the > memory barriers in atomic_cmpset_acq_* really needed? They have the > look of belt & suspenders code.. They are needed in _acq_ and _rel_ because they are used to build mutexes. You even need them on UP systems to enshure instruction order. Some barriers can be removed in other atomic functions or replaced with write barriers. Currently our alpha_wmb() is mappend to mb, which is done because it's also done in NetBSD - possibly as a workaround for a unnamed problem. > FWIW, The appended diff to remove them reducess null system call > latency to 1.6us with kern.giant.proc=1, and 1.4us with > kern.giant.proc=0. I'm about to start a buildworld with it, but I > don't have any SMP boxes. What kind of CPU is in your XP1000? On >= 21164 the CPU can be initialised into UP operation so that mb and wmb fall back to just an contraint on instruction order. Also locked instructions can be handled inside the CPU in that case. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message