On Tue, Jan 03, 2017 at 10:23:28PM -0500, Dan Cross wrote:
> My favorite version number was SunOS 4.1.4U1: I was told that the ``U1''
> meant, "you won", as in "you won. Here's another BSD-based release."
That might have been the Greg Limes release. I may be all wrong but
someone, I think it was Greg, busted their ass to try and make SunOS
4.x scale up on SMP machines. There were a lot of us at the time that
hated the SVr4 thing, it was such a huge step backwards.
Larry has it very nearly right, or at least very nearly matches my memories. The few exceptions are only important in light of this being an attempt to record history as accurately as possible. Yeah, I was the naive kid who pushed and pushed and pushed until it happened. I had and still probably have absolutely *NO* idea how many other people were pushing along with me, but I do know that I had the full support of at least three layers of management, and I do know that many of the changes were only possible thanks to the hard work of the other engineers that worked on the Sun-4M (4/600 series) port. While there was heroic effort involved, it was not the result of the effort of a lone hero.
The release was (or was supposed to be, and I remember it as) "SunOS 4.1.3 u1" because we were told on no uncertain terms that there would be no release called "SunOS 4.1.4" but it was OK to send out an update release rolling up patches previously sent. I was *never* told why, which only made me (and my management chain) push harder. There were enough changes to warrant U1, U2, and U3 releases; I know U1 went out the door, and I know that U3 was ready for release when I departed, I don't recall whether U2 made it out the door or not. I do not recall the method we used to triage the changes into three releases.
There was really no explicit "try to make SunOS 4 scale up on SMP machines" in this code -- in fact, for many common workloads, things scaled surprisingly well. The NFS crew in particular indicated they were quite happy with our scaling, but I would defer to Neal Nuckolls on that score. The purpose of U1 and subsequent updates was to bring a number of kernel bug fixes back into the mainline sources (um, maybe some of these fixes improved scaling, but it was not the basis for the release).
Non-historical observation ... the interesting thing about the paper Larry linked, for me, is that it exactly describes the huge sucking black hole that made Linux (or something very much like it) inevitable. It is no coincidence that the same passion we found at Sun working on SunOS, we also find in the community of developers working on the Linux kernel. I always wondered how many of Sun's Kernel Hackers found their path there.