Linked by Eugenia Loli on Thu 7th Apr 2005 02:04 UTC, submitted by David Rhodus
BSD and Darwin derivatives After many months of work DragonFly is about to release version 1.2 of its BSD based operating system. The first release candidate version can be download from dfly-20050406-pre1.2.iso.gz
Permalink for comment
To read all comments associated with this story, please click here.
RE: Anonymous (IP: ---.seton.org)
by Anonymous on Fri 8th Apr 2005 03:33 UTC

The FreeBSD and Linux SMP models are very similar. They differ with respect to the type of primitives employed ( spin vs blocking locks ). Oddly enough, FreeBSD recently commited an option to enable adaptive locks which are actually a cross-breed of the two methods ( spin a bit then block if neccesary ). I believe this is now the default behavior.

Not really. Linux focuses first on lockless code and data, then on lightweight reader side code, then on fine grained, short held spinlocks, and lastly blocking semaphores.

FreeBSD has very few lockless paths. Their scheduler doesn't even use per-cpu queues AFAIK. Their synchronisation primitives are mainly mutex oriented.

I would be very surprised if Solaris didn't employ a similar method of SMP locking. DragonFly is certainly taking the road less traveled however.

In many respects Linux is closer to Dragonfly than it is to FreeBSD.

There is a point where you can take the per-cpu scheme too far though - there inevitably have to be *some* serialisation points *somewhere* if you want things like a consistent filesystem (which you do) and access to actual hardware devices.