Date: Mon, 17 May 2004 22:59:00 +0100 From: Doug Rabson <dfr@nlsystems.com> To: Julian Elischer <julian@elischer.org> Cc: Peter Wemm <peter@FreeBSD.org> Subject: Re: cvs commit: src/sys/kern kern_linker.c Message-ID: <200405172259.00791.dfr@nlsystems.com> In-Reply-To: <Pine.BSF.4.21.0405171431040.27448-100000@InterJet.elischer.org> References: <Pine.BSF.4.21.0405171431040.27448-100000@InterJet.elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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... 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405172259.00791.dfr>