From owner-cvs-all@FreeBSD.ORG Wed Apr 30 10:18:12 2003 Return-Path: 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 92B5237B401 for ; Wed, 30 Apr 2003 10:18:12 -0700 (PDT) Received: from mail.speakeasy.net (mail16.speakeasy.net [216.254.0.216]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3201143FDD for ; Wed, 30 Apr 2003 10:18:10 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 32002 invoked from network); 30 Apr 2003 17:18:15 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 30 Apr 2003 17:18:15 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.8/8.12.8) with ESMTP id h3UHI7Ov022164; Wed, 30 Apr 2003 13:18:07 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <16046.64504.186129.388342@emerger.yogotech.com> Date: Wed, 30 Apr 2003 13:18:13 -0400 (EDT) From: John Baldwin To: Nate Williams cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org cc: "M. Warner Losh" cc: Andrew Gallatin Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Apr 2003 17:18:13 -0000 On 29-Apr-2003 Nate Williams wrote: >> A mutex is far more expensive than an spl. > > Huh? If so, then something is *really* screwed up, since SPL's block > out lots of things, while mutex's can/should block little things. > > That's how we get greater parrallelism. A mutex involves an atomic op. On i386 this translates to 'lock cmpxhcg'. On i386 spl was implemented as a simple 'or' instruction, no lock or anything. Quite fast. Also, spl's didn't have to manage contention. You don't block on an spl, you just raise the level. spl's only have to protect against bottom-half code, they do not have to protect against top-half code on other processors. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/