From owner-cvs-src@FreeBSD.ORG Mon May 17 15:48:22 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C62D416A4CE; Mon, 17 May 2004 15:48:22 -0700 (PDT) Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4953943D4C; Mon, 17 May 2004 15:48:22 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([24.7.73.28]) by comcast.net (rwcrmhc11) with ESMTP id <20040517224821013000hmnbe>; Mon, 17 May 2004 22:48:22 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id PAA30194; Mon, 17 May 2004 15:48:20 -0700 (PDT) Date: Mon, 17 May 2004 15:48:19 -0700 (PDT) From: Julian Elischer To: Peter Wemm In-Reply-To: <200405171517.29528.peter@wemm.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: Doug Rabson cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_linker.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 22:48:23 -0000 Ha! I'm glad I'm not the only one with such a sick mind !! On Mon, 17 May 2004, Peter Wemm wrote: > On Monday 17 May 2004 02:59 pm, Doug Rabson wrote: > > I've been thinking about that on and off for a while. It would be > > fairly easy to represent most of struct pcpu using TLS... > > I thought about it a bit too. One potential landmine is making sure > that gcc can be adequately taught to be preemption safe and not cache > pointers to the tls area across things like critical_*(). I guess that > depends on which model is used though. User-level threads dont have to > worry about this, because if they're preempted, they are still the same > thread when they come back. pcpu isn't like this. > > And to think that I was considering benchmarking a change to do an > alpha-style stolen-register for the pcpu pointer on amd64. :-) > > > On Monday 17 May 2004 22:31, Julian Elischer wrote: > > > which brings up the question of TLS in the kernel :-) > > > > > > On Mon, 17 May 2004, Peter Wemm wrote: > > > > peter 2004/05/17 14:24:40 PDT > > > > > > > > FreeBSD src repository > > > > > > > > Modified files: > > > > sys/kern kern_linker.c > > > > Log: > > > > Since we go to the trouble of compiling the kobj ops table for > > > > each class, and cannot handle it going away, add an explicit > > > > reference to the kobj class inside each linker class. Without > > > > this, a class with no modules loaded will sit with an idle > > > > refcount of 0. Loading and unloading a module with it causes a > > > > 0->1->0 transition which frees the ops table and causes > > > > subsequent loads using that class to explode. Normally, the > > > > "kernel" module will remain forever loaded and prevent this > > > > happening, but if you have more than one linker class active, > > > > only one owns the "kernel". > > > > > > > > This finishes making modules work for kldload(8) on amd64. > > > > > > > > Revision Changes Path > > > > 1.111 +1 -0 src/sys/kern/kern_linker.c > > -- > Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com > "All of this is for nothing if we don't go to the stars" - JMS/B5 >