Subject: Re: libpthread
To: , <>
From: M L Riechers <>
List: tech-kern
Date: 06/25/2003 19:42:08
Date: On Wed, 25 Jun 2003 10:07:03 -0700 (PDT) Bill Studenmund

> You're assuming that at this point a 1:1 model would be easier to
> implement that fixing the bugs we have now. I disagree. But let's chart
> things out to see where we are. Issues:
>         B       Scheduler is not LWP-aware
>         ?       SMP + SA/LWP uncleanliness
>         ?       Lennart's error case
>         B       Buggy applications
>         B       Thread stack sizing
>         Things a 1:1 would need that it doesn't have
>                 gdb support
>                 libpthread
>                 kernel support for mutexes and condvars

Good points, and I, for one, would like to see a little more light on
the problems, and a little less heat on the problem solvers.  Let's
give it a little time.

And I thoroughly agree with Nathan in his rights to decide the time,
pace, and place of implementation.  After all, he has the guts to
tackle what I'm gathering will be a monumental achievement -- when
it's done.  Meanwhile, he needs all the support he can get from the
rest of us.

When it is done, and works well, think what an achievement it will be
for Nathan, the NetBSD project, and all who helped.  But if, my Lord
William forbid, in the end we find that it is fundamentally
impossible, and we fail, at least we know that, and can say "we gave
it everything we got.  We don't like the answer, but life ain't fair."

So.  Let us put our heads together, and see if we can form some sort
of picture of when and where -current is working, on what machines,
and on what applications.  And when and where, and on what machines,
and what applications it is not.  I think we need details.

Also, what else is in -current?  I confess I'm swamped with detail,
and lacking the broad picture. 

Thor, Lennart, what's up with your machines? And, what's in -current
besides threads that you want?  Please don't take that the wrong way,
I'm no way suggesting that you shouldn't want, but I guess I'd like to
know to try to broaden the picture.

To kick off, and for what it's worth, we compiled -current (1.6P) from
the 15 March 2003 ftp sources for macppc and for our mbx.  Both are
stripped-down kernels; the macppc really doesn't have anything that a
7600 Macintosh couldn't support natively.  It seems to run fine, and,
other than aggravating mc0 underruns and serial problems, is more
stable and responsive than 1.6.

Does it have native threads?  I guess.  I never explicitly included or
excluded them.  But we compiled mozilla (mozilla-1.2.1nb7) on 14
March, and most other pkgsrc earlier, so they were compiled under
1.6.0 rules.  mozilla, of course, works better than it ever has

So there we are, that's our data point.  Not much help, I guess --
except to say that it's possible that mac's are unique.  Dunno.  Can't
give any bad news (in this business bad news is good news -- if it
helps find a bug), we're not attempting anything particularly
strenuous.  But still, it's a data point.  

Join in.  Does it work, or not?  What are you running? Details,
please.  Let's get a picture.

Would it help if we re-compiled mozilla to see if it will fail?

Best Regards,