On Mon, Jan 3, 2022 at 5:03 PM Greg 'groggy' Lehey wrote: > On Monday, 3 January 2022 at 15:44:11 -0800, Larry McVoy wrote: > > On Mon, Jan 03, 2022 at 05:21:51PM -0600, Doug McIntyre wrote: > >> On Mon, Jan 03, 2022 at 04:15:08PM -0500, Dan Cross wrote: > >> I'd agree, 2.4 was pretty slow and chunky, 2.5 was alright, but 2.5.1 > was quite usable and stable. > >> Also by this time, the hardware was going in directions that SunOS > wouldn't keep up with. > > > > Yeah, Doug is right, SunOS was pretty simple, it didn't really take > advantage > > of SMP, Greg Limes tried to thread it but it was too big a job for one > guy. > > > > That's not to say that SunOS couldn't have evolved into SMP, I'm 100% > > sure it could have. It just didn't. It's a shame. > > An interesting question. I had always thought that SMP was (one of?) > the technical reasons why Sun moved from a BSD to a System V base. > Since then, of course, we've done lots of work on SMP support for at > least FreeBSD. Does anybody have an overview of how good the support > is compared to modern Solaris? Is there any intrinsic reason why one > should be better than the other? > So, there were several groups that added SMP to BSD or SunOS. Solbourne's OS/MP added MP to SunOS 4.0 as first ASMP (one CPU did all the system calls, but jobs could run on other CPUs) and later as SMP (first as any CPU could run the system calls, but there was global lock and later each subsystem had a lock that it ran with). Later versions improved locking granularity by pushing locks down and making things finer grained. SunOS was a 4.3BSD with its own VM system that was well suited for locking. There were other efforts to do this, but none of them made it back to the Berkeley mother ship, so 4.4BSD shipped w/o MP support in any real sense in 1993. System V got MP when a consortium of vendors added it to the 4.0 release (that didn't include sun). By 1992 this was rolled into the 4.2 release that AT&T did with Novell. This is what would serve as the basis for Sun's Solaris product line. FreeBSD, NetBSD, OpenBSD and Dragonfly BSD have all done MP in different ways since then, of course, and Linux has added MP as well early on. So in a very real sense, Sun was in a position where it had to re-do the work that David Barak and others did at Solbourne to lock the SunOS kernel (work which really took years to complete and stabilize), or they had to go with a solution that was already developed. AT&T had that with System V 4.x, and Berkeley didn't have an equivalent set of functionality for them to draw from. I think from a PHB perspective, the decision was easy, mostly because they vastly under-estimated the maturity of System Vr4.2's MP support (but I wasn't in the room: I was at Solbourne which would never have licensed its OS/MP to Sun due to the... competitive atmosphere at the time and likely NIH inside of Sun for adopting that). Warner