DragonFly kernel List (threaded) for 2003-11
Re: Am I way off base here?
Matthew Dillon wrote:
Well, my behavior isn't much better when it gets into the flame domain :-)
In anycase, the two implementations are not diametrically opposed but
they are implemented differently. My argument isn't really with the
design choice, though I do feel that the IPC method is better. My
argument is with FreeBSD making that design choice but then not following
through with the necessary static binary support to really make it work
well, and then using that as an excuse to make root dynamic. Sigh.
I have been reading these threads on current. I did not get understand
that was your arguement from what you posted there. Your initial post
starting this thread did not enlighten me either (which asks if there is
something wrong with an IPC approach). If your arguement was clear and
I missed it then you should entertain the possiblity that other missed
it as well. Their reactions may have been strong since they may have
heavily invested time and effort into something that they mistakenly
think you are putting down that work.
I have not seen a well thought out, convincing, argument for or against
a dynamic root. I also don't pretend to know enough about the
implications of each to weigh them. Therefore I am in the position to
rely on those who do (I would say that you know far more then I on the
subject, but so must others on the core team of FreeBSD). That said
your ideas so far (lwkt_thread/lwkt_msg) seem to be good ones. I have
no reason to think that an IPC NSS will "not work" unless we are not
capable of making it work sucessfully. Actually I like that the ideas
in dragonfly have not necessarily been done before (just as I liked to
read the papers about the MIT exokernel, and K42). Things can't
necessarily be proven correct or incorrect without trying out the idea
(of course even then nothing is necessarily proven). Here we seem to be
"trying out" an IPC NSS. We are in the middle of trying out lwkt_*.
Whether lwkt_* is better or worse than anyone else's ideas doesn't
necessarily concern me. It can just be redone/improved to make it
better. The same applies to the IPC NSS idea. In short this is not a
contest to me, more of an exploration.
I did not consider any other alternative to NSS then to have a fully
dynamic system. The fact that there is an alternative, and that you
voiced it, is a very good thing (it seems that some people
miss-interpreted your discussion of that idea, and thats too bad). The
fact that you are implementing it is even better. It is clear that many
people want NSS. It is also clear that some people want a static root.
Thus the problem becomes "how can we have a static root with support
for NSS". It seems that a large portion of the threads on -current seem
to be saying "I want it this way!" without providing a workable solution
to "the problem". Your idea was possibly the only solution posted to
the -current list that solves this problem.
I have been tempted to try to mediate current. If I owned a "heavy
stick" (was respected enough to have my voice heard) I would propose
those that want a static root to gather their pros for this
implementation (including benchmarks, etc.). I would also propose those
that want a dynamic root to provide their pros. The benchmarks would be
run by everyone. I would also accept alternative solutions (of which
your IPC is one, and dlopen() for static binaries is another). Then a
reasonable discussion could be started with all information at hand.
Hopefully a workable compromise could be made.
Note that this supposedly happened earlier but was more or a private
discussion between the developers. The significance of it was obviously
not noticed. However as I noted above, they are the people in a better
position to outline their arguments, as I do not know enough.
Of course I don't have the "big stick". I doubt I posess the political
intelligence to not piss people off. I would also be adding to
something that is out of hand, probably to be drowned out.
Pesonally it is really sad to see such a small thing (apparently it
isn't that small?) as this leave a bad taste in the mouths of many
obviously talented people (You + PHK + Scott Long + FreeBSD
core/developers). It seems to me that FreeBSD is good, and has the
potential to be great. Things like this only hurt it.