cvs commit: src/sys/kern kern_linker.c
Peter Wemm
peter at wemm.org
Mon May 17 15:17:31 PDT 2004
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 at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5
More information about the cvs-src
mailing list