From owner-cvs-src@FreeBSD.ORG Mon May 17 14:31:58 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 C78AF16A4CF; Mon, 17 May 2004 14:31:58 -0700 (PDT) Received: from rwcrmhc12.comcast.net (rwcrmhc12.comcast.net [216.148.227.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C78C43D49; Mon, 17 May 2004 14:31:57 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([24.7.73.28]) by comcast.net (rwcrmhc12) with ESMTP id <2004051721315601400erspse>; Mon, 17 May 2004 21:31:56 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id OAA29307; Mon, 17 May 2004 14:31:55 -0700 (PDT) Date: Mon, 17 May 2004 14:31:54 -0700 (PDT) From: Julian Elischer To: Peter Wemm In-Reply-To: <200405172124.i4HLOeTY074301@repoman.freebsd.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: 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 21:31:59 -0000 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 >