On Thu, Feb 20, 2020 at 12:27:15AM -0700, arnold(a)skeeve.com wrote:
Michael Huff <mphuff(a)gmail.com> wrote:
As Larry and others have pointed out, the unbundling of various components
was a big mistake by the vendors. It just made users angry and motivated
them to switch to other Unix systems.
I really fault Sun for that one. There was a time when every open source
package "just worked (TM)" if you built it on a Sun. All the other platforms
were fiddly (leading to that monstrosity called autoconf), Sun just worked.
So developers fought hard to get a Sun over the other platforms.
When you have that lead and you screw over the people who gave you that
lead, yeah, shame on you, Sun.
Also, early Solaris was a dog. Performance was poor.
It improved over
time, but it wasn't until around Solaris 2.4 or 2.5 that running it
wasn't painful.
Early Solaris was awful, just awful. They pulled out sockets and replaced
them with Lachman's STREAMS based TCP/IP stack (really convergent's stack,
I believe Lachman bought it from them). Performance was horrible, they
brought in Mentat's stack and had to work on that, and eventually they
brought back sockets. I dunno if there is any STREAMS stuff left, that
was a horrible idea.
Another idea, not sure if this shipped or not, was to use a thread for
each 8K block headed to disk. The kernel stack was 24K (which is nuts
but that's another story). So think about what a dd if=/dev/zero of=XXX
does to your system. Each I/O costs you 8K (data) + 24K (stack) not to
mention the other overhead for a thread. It means you only get to use
25% of ram for dirty pages.
Bat shit crazy, right? I pointed all that out to the VM / FS people
and they did it anyway, they were in love with threads. It was just
as awful as I predicted and they ripped it all out and started over.
To this day, I'm baffled that I could see that that was a horrible idea
and really smart people did not. Lots of those people were smarter
than me. It speaks to why you shouldn't push your shiny new feature
too hard. And it lead to these in
http://www.mcvoy.com/lm/quotes.html
Think of it this way: threads are like salt, not like pasta. You
like salt, I like salt, we all like salt. But we eat more pasta.
--me
A computer is a state machine. Threads are for people who can't
program state machines.
--Alan Cox
Both very on point for the Sun people.