Skip site navigation (1)Skip section navigation (2)
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>