Subject: Re: Suspend/resume hooks
To: Matthew Dillon <dillon@apollo.backplane.com>
From: Allen Briggs <briggs@ninthwonder.com>
List: tech-kern
Date: 06/27/1999 12:00:10
>     It's not really possible to avoid divergence.  Major features such as
>     SMP, AIO, newbus, and so forth cannot be implemented efficiently using
>     the old APIs.  The old APIs simply were never designed with many of
>     these new features in mind.

Of course.  I'm not advocating the preservation of the old APIs (and I
don't think anyone is).  Rather, I'm advocating that people work with
each other to make sure that new APIs are useful to everyone and to
recognize that it benefits everyone to maintain some consistency and
cohesion among all *BSDs.

Unfortunately, some people have obviously been traumatized by events in
the past and are unwilling to work for the future.  Others have obviously
not been considerate about engaging in any dialogue to make sure that
changes go both directions.

Sure, it's free software.  People will pick it up and change it if the
changes are useful to them.  If the changes are useful for one person,
it's likely that the changes are useful for others, too, and it would be
a shame to see more useless duplication of effort than necessary.  (Of
course, a certain amount of it leads to decent "market" competition--which
is good for everyone if (and only if) it leads to adoption of the "clearly
better" trait.  Unfortunately, that last part doesn't often seem to occur--
probably because there are too many ways to define "clearly better", but
that's another issue.)

>     I think it is possible to implement a generic API for device driver
>     portability, as long as the generic API is reasonably well throught 
>     out and widely adopted.  Intel and others are attempting to do this.

It should be.  Are there any free OS representatives working on that?
Anyone with an interest in seeing it work on a wide range of architectures?

Warner has a good point--it would help tremendously if there was
an "official" policy on the part of each project to encourage
cross-pollination of new ideas and APIs and that efforts to merge
existing APIs would also be supported or even encouraged.  I'd love
to get to the point where the newest kick-ass cards come with
NT, SCO/UnixWare, Linux, and BSD drivers--with no need to specify
which BSD (of course, two drivers: NT and Unix/Freenix would be better).

-allen