Re: spinlocks

Chad Loder <[email protected]> Wed, 26 Mar 2003 16:00:20 -0800
Newsgroups gmane.os.openbsd.smp
Message-ID <[email protected]>
On Thu, Mar 27, 2003 at 01:09:54AM +0100, Marco Feenstra wrote:
> I figured that Theo normally dispenses the OpenBSD funds to developers, so in 
> starting this sideshow get some advise from theo about his plans for the next 
> OpenBSD release because as has been pointed out before, the integration of 
> SMP touches every or at least lots of inches in OpenBSD and if theo is not 
> cooperative, due different priorities for OpenBSD you are essentially 
> throwing away your money.

A few points.

0) This is going to require kernel changes for synchronization
   primitives, thread scheduling, etc..  Realistically, you're going
   to need the support of the OpenBSD developers for this project
   to make it past the fledgling stages.

1) The world breaks into 3 categories: [a] talkers and those not capable
   of doing the job (you folks), [b] those capable of doing the job
   if you paid them enough, and [c] existing OpenBSD developers who are
   capable of doing the job for free, but who are working on other
   parts of OpenBSD that are considered more important (e.g. support
   for new 64-bit platforms).

   Group [a] never gets anything done.  They talk a lot and fill up
   the lists with all sorts of great ideas.

   Group [b] could do the job, but you won't be able to afford them,
   especially with the amount of money I've seen proposed.  Plus,
   there is a high risk of failure for this job due to lack of
   management, lack of a real plan, and a lack of commitment from
   you folks, the vast majority of whom will NOT pony up the money
   when it comes time to do so.

   Group [c] could do the job, but since they have to spend 80-90% of
   their time dealing with crap that could be done by developers from
   group [a], don't expect it to become a priority.  The remaining
   10% - 20% of their time is spent working on supporting new
   technology to ensure that OpenBSD does not become obsolete with
   respect to new architectures and new protocols.

   You see, it's not that SMP is unimportant, but given the limited
   time available to the developers capable of actually doing it,
   it's simply not a priority.

   I encourage you all to spend a day in the life of the dozen busiest
   OpenBSD developers.  They have to do all of the monkey work that
   others will not do (or will not do well).  It's amazing that they
   find time to push OpenBSD forward on any front at all.

2) Also, a sad fact but true: your average bachelor's in CS will NOT
   be anywhere near capable of implementing SMP support.  I've done
   (and continue to do) hundreds (maybe thousands) of interviews for
   programming positions and I can assure you that the overwhelming
   majority of college CS graduates lack the skills needed to do
   the job in any realistic timeframe.

If you really want to help SMP, and you don't think you're capable of
contributing any code, you should find out how to relieve the burden
from the core developers.  If you've got money, donate it to the
project.  If you've got programming skills, then fix bugs or do some
of the things on Art's TODO list.  If you've got limited programming
skills, then test snapshots and report on the results.  If you have
none of these things, then just buy the CD's (and if you can't
even do the bare minimum, then you're a leech on society and you
have no right to complain whatsoever).

If you are not willing to help the OpenBSD project along the lines
that I just layed out, yet you really must have SMP, and you say have
money to spend on it, then maybe you should consider buying an
operating system that already supports it.  No, this doesn't help
OpenBSD in any way, but then again, you had no plans to help anyways,
did you? :)

	c