Jeff Roberson Begins FreeBSD SMPng VFS Integration
A FreeBSD User writes "Jeff Roberson has announced that he has has begun integrating the Giant-lock free VFS code into the FreeBSD 6.x development tree. These changes will permit the UFS file system to run on multiple CPUs at a time on SMP systems (hyper-threaded, dual-core, or regular SMP), leading to substantially improved efficiency. It will also permit the VFS code to be fully preemptible on uni-processor systems, improving interrupt handling latency. With this change, almost all of the FreeBSD kernel is able to run fully threaded and in parallel on multiple CPUs with much less contention. He anticipates merging this work as an "opt-in" feature to the FreeBSD 5.x branch in the future. He indicates that the testing will be "opt-in", i.e., this change will not be fully enabled by default for the time being, and that it will take a while (a few hours) to complete the merge, so users of the 6-CURRENT branch may want to hold off updating for a few hours while he finishes the merge. The work was sponsored by Isilon Systems."
What do you call a *BSD release celebration? A wake.
What do you call an in-depth review of a *BSD release? An autopsy.
What do you call a serial number identifying a *BSD disc? A toe-tag.
What do you call a *BSD project team manager? Mr. Undertaker, of course.
What do you call a volume used for storage of *BSD-related files? A crypt.
What do you call a press release about *BSd news? An obit.
What do you call a box with a *BSD disc? A coffin.
What do you call a *BSD restore from a backup? The rising of the undead.
OMG WTF BSD SMP VFS? LOL!
Comment of the year
One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be the Amazing Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood.
FreeBSD is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time FreeBSD developers Jordan Hubbard and Mike Smith only serve to underscore the point more clearly. There can no longer be any doubt: FreeBSD is dying.
Let's keep to the facts and look at the numbers.
OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.
All major surveys show that *BSD has steadily declined in market share. *BSD is very sick and its long term survival prospects are very dim. If *BSD is to survive at all it will be among OS dilettante dabblers. *BSD continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, *BSD is dead.
Fact: *BSD is dying
flask of ripe urine
pressed to dead bsd lips
bsd drink up
I must say that reading about the Giant-lock free VFS integration on the BSD dev mailing lists recently only reinforced my gut feeling that FreeBSD and other BSD variants start to look as a viable alternative to Solaris and Linux. This is consistent with the attitude in my company. To make a long story short, I received the email first thing in the morning from the IT department. Our network would be undergoing a major overhaul to correct the ad hoc growth it had experienced in the last year, and starting next week Internet access would be sporadic. There would also be a new firewall and security measures, replacing the old OpenBSD system I'd managed to get installed last Spring. Happy for the heads-up, I went to work right away to make sure Linux had no place on our network. This was not the first time that I had faced this threat.
One day about a year ago our network guy gets asked to draw up firewall plans for this subnet of servers we have. Our network guy was your typical GNU-slinger save that he had a cascade of flowing hair down the back of his head and not a beard hanging from his face. And yeah, you can guess what he thought those firewalls were gonna run. Fast forward two days. I'd caught wind of the plans and had charts, graphs, and comparisons written up detailing OpenBSD and Linux security. Since this GNU guy had a mullet and dressed like a slob, I got taken seriously. Not to mention my data, impenetrable by any hippy "logic." OpenBSD was the more secure, even to the beancounters and idtiot management. So thanks to me, our firewalls happily run OpenBSD and not Linux, which would have buffer-overflowed into no-man's land every other hour. The Open Source Mullet gives me a lot of dirty looks lately.
Since the Open Source Mullet had been canned, a new threat had arisen at my workplace: the Fat Perl Hacker had assumed most of the Open Source Mullet's system and network administration duties, and it was no mystery to anyone at my workplace that he had a hard-on for Linux tucked away under his enormous, cascading gut. Since he was a major suck-up and workaholic, he had a lot more credibility than the Open Source Mullet this would be a real challenge for once. Dealing with the Open Source Mullet had been cake.
That night, I went to work on my strategy. First, I would document the changes in Linux and OpenBSD since a year ago when we last went with a security plan. Linux was still at version 2.4, while OpenBSD had raced from version 2.8 to 3.1 a major revision! This was good so far, and I included the relevant diffs for each. I wondered what the Fat Perl Hacker was up to and pushed ahead with my preparations.
Tuesday morning, I went to talk with the VP of Operations, who had final say on the network project. I wouldn't leave anything to chance. But after chatting with him for a few minutes, I learned of a major monkey-wrench I hadn't expected: instead of a Unix firewall system, he was planning on installing a dedicated firewall box running Windows XP. Thankful for my fortuitous social engineering, I went back to my desk and began making over my strategy to deal with this new threat. Not only would I have to deal with Linux, I'd have to eschew the Windows option now.
Sitting in front of my iBook after work, I realized that taking on Windows XP in the same manner I was going to deal with Linux would be foolish if not wasteful. Obviously the Windows option was not about numbers, anecdotes, or experience. It was a bean-counting decision and all of the security statistics in the world wouldn't matter. Since I hadn't the foggiest about how our accountants viewed the whole operation and didn't have time to learn, I'd have implement a rapid-fire real-life assault on the Windows box, which was sitting on the VP's desk awaiting its place on the network. It was time to put on my Black Hat, and that night I stayed up until 02:00 researching Windows XP vulnerabilities. Linux would have to wait.
With just two days before the network changeove
Ashlee says, "I know exactly what's under this T-shirt, but I'm going to keep it under wraps.
"Maybe I'll take a few pictures for myself because I have to tell you, I do have great breasts! I am 19, after all."
What We Can Learn From BSD
By Chinese Karma Whore, Version 1.0
Everyone knows about BSD's failure and imminent demise. As we pore over the history of BSD, we'll uncover a story of fatal mistakes, poor priorities, and personal rivalry, and we'll learn what mistakes to avoid so as to save Linux from a similarly grisly fate.
Let's not be overly morbid and give BSD credit for its early successes. In the 1970s, Ken Thompson and Bill Joy both made significant contributions to the computing world on the BSD platform. In the 80s, DARPA saw BSD as the premiere open platform, and, after initial successes with the 4.1BSD product, gave the BSD company a 2 year contract.
These early triumphs would soon be forgotten in a series of internal conflicts that would mar BSD's progress. In 1992, AT&T filed suit against Berkeley Software, claiming that proprietary code agreements had been haphazardly violated. In the same year, BSD filed countersuit, reciprocating bad intentions and fueling internal rivalry. While AT&T and Berkeley Software lawyers battled in court, lead developers of various BSD distributions quarreled on Usenet. In 1995, Theo de Raadt, one of the founders of the NetBSD project, formed his own rival distribution, OpenBSD, as the result of a quarrel that he documents on his website. Mr. de Raadt's stubborn arrogance was later seen in his clash with Darren Reed, which resulted in the expulsion of IPF from the OpenBSD distribution.
As personal rivalries took precedence over a quality product, BSD's codebase became worse and worse. As we all know, incompatibilities between each BSD distribution make code sharing an arduous task. Research conducted at MIT found BSD's filesystem implementation to be "very poorly performing." Even BSD's acclaimed TCP/IP stack has lagged behind, according to this study.
Problems with BSD's codebase were compounded by fundamental flaws in the BSD design approach. As argued by Eric Raymond in his watershed essay, The Cathedral and the Bazaar, rapid, decentralized development models are inherently superior to slow, centralized ones in software development. BSD developers never heeded Mr. Raymond's lesson and insisted that centralized models lead to 'cleaner code.' Don't believe their hype - BSD's development model has significantly impaired its progress. Any achievements that BSD managed to make were nullified by the BSD license, which allows corporations and coders alike to reap profits without reciprocating the goodwill of open-source. Fortunately, Linux is not prone to this exploitation, as it is licensed under the GPL.
The failure of BSD culminated in the resignation of Jordan Hubbard and Michael Smith from the FreeBSD core team. They both believed that FreeBSD had long lost its earlier vitality. Like an empire in decline, BSD had become bureaucratic and stagnant. As Linux gains market share and as BSD sinks deeper into the mire of decay, their parting addresses will resound as fitting eulogies to BSD's demise.
come on. moderators.
more stuff, because of the filter thing and such.
The case made by Matt was that the FreeBSD architecture had been hacked with undocumented junk sprinkled throughout the source tree. A change in one area ripples through the whole tree. Matt rightly said that only one or two people really understand the internals of FreeBSD anymore. Jordan Hubbard and Mike Smith both pointed this out earlier. The FreeBSD source tree is becoming more and more unmaintainable. PHK is perhaps the only person left who fully understands FreeBSD internals. Unfortunately he is considered part of the problem by many.
And the problem started when FreeBSD started chasing feature checklists trying to match Linux. This is probably the root of all the ugly hacks. In practical terms, it was Linux which was driving FreeBSD development, rather than some rational architectural plan. FreeBSD got sucked into a resource expensive "arms race" which drained the "treasury" so to speak. NetBSD stayed out of the fray, choosing instead to follow its own vision. And it has payed off nicely for NetBSD.
In any case, if there is to be a FreeBSD 6.0 someday, it will probably look like Dragonfly. I would say that future is now. Dragonfly 1.0 == FreeBSD 6.0.
Actually, does it really matter?
I doubt the lusers will switch to FreeBSD, ever. I'm happy with that, less is more.
It is interesting to see how and when various operating system concepts get implemented. Interrupt threads are a pretty common technique in realtime systems, and have been around since the early 90's or so; they were the first driver technique that I learned.
(S(SKK)(SKK))(S(SKK)(SKK))
Why are they only incorporating this into the 6-current tree? I know that it says opt-in, but I think that a good number of hte changes in the 6-current should be in the 5.x too, like the wireless support and this.
Anyone know why this is merged into the 6-current tree? Is it just for fear of new code in the -release, and a desire to backport tested fixes?
Linux is NOT giant Free. I believe Linus has stated that he sees no reason to be.
This is old news in the Linux world, I'm glad you caught that. FreeBSD 5.x always impressed me as a catch-up "me too" effort to get where Linux was five years ago (especially in regards to SMP and threaded application support). I also think FreeBSD shot themselves in the foot by going with the MxN threading model, which sounds great in theory but's a real devil to get implemented to the point where it's correct and useful. The guys at Red Hat put together a great white paper years ago as to why that way lay madness. I'll have to dig that up again just for old times' sake.
Once you get past the fact that *BSD is fragmented between a myriad of incompatible kernels, there is the historical record of failure and of failed operating systems. *BSD experienced moderate success about 15 years ago in academic circles. Since then it has been in steady decline. We all know *BSD keeps losing market share but why? Is it the problematic personalities of many of the key players? Or is it larger than their troubled personae?
The record is clear on one thing: no operating system has ever come back from the grave. Efforts to resuscitate *BSD are one step away from spiritualists wishing to communicate with the dead. As the situation grows more desperate for the adherents of this doomed OS, the sorrow takes hold. An unremitting gloom hangs like a death shroud over a once hopeful *BSD community. The hope is gone; a mournful nostalgia has settled in. Now is the end time for *BSD.
There's still the giant lock (lock_kernel/unlock_kernel) but it keeps getting pushed farther down. At this point there aren't many performance critical parts that are still protected by it. Most of the huge-SMP work has moved on to other areas these days. There's still some activity though -- just in the last few weeks there were some changes to allow drivers to handle ioctl()'s without the giant lock.
But yeah the core filesystem stuff has been outside the kernel lock for AGES. I'm actually pretty amazed that FreeBSD is that far behind.
What do you call an OpenBSD firewall? A crematorium.
All the *BSD are trying to catch-up on the number of Linux kernel exploits, but so far they failing miserably. I, as a proud BSD user, DEMAND that I have the same excitement and the same feeling of clear and present danger that every Linux users experience on a daily basis. Oh man, it's sooooo booooring to have BSD boxen that just runs, and runs, and runs doing what it's supposed to do.
I also think FreeBSD shot themselves in the foot by going with the MxN threading model, which sounds great in theory but's a real devil to get implemented to the point where it's correct and useful.
Your kinda missing the point here. FreeBSD has got it implemented to the point where its correct and useful. Having done it kind of nullifies it the disadvantage of it being hard to do.
"XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
sudo echo "libpthread.so.1 libthr.so.1" >/etc/libmap.conf
There's your 1:1 threading model. Are you going to tell us scheduler activations are bad now?
Like OpenBSD, right?
You've never executed that command.
..and its not owned by root. Tried it wish Tcsh and Bash. IIRC 'su' has the same problem (or 'behaviour'?).
FYI:
$ sudo echo "hello" >test
Password:
$ ls -l test
-rw-r--r-- 1 user group 6 Jan 25 00:24 test
WE DON'T NEED NO BLOG CONTROL.
duh, it's not a problem. learn how shell redirection works some day.
... facts are facts. ;)
FreeBSD:
FreeBSD, Stealth-Growth Open Source Project (Jun 2004)
"FreeBSD has dramatically increased its market penetration over the last year."
Nearly 2.5 Million Active Sites running FreeBSD (Jun 2004)
"[FreeBSD] has secured a strong foothold with the hosting community and continues to grow, gaining over a million hostnames and half a million active sites since July 2003."
What's New in the FreeBSD Network Stack (Sep 2004)
"FreeBSD can now route 1Mpps on a 2.8GHz Xeon whilst Linux can't do much more than 100kpps."
NetBSD:
NetBSD sets Internet2 Land Speed World Record (May 2004)
NetBSD again sets Internet2 Land Speed World Record (30 Sep 2004)
OpenBSD:
OpenBSD Widens Its Scope (Nov 2004)
Review: OpenBSD 3.6 shows steady improvement (Nov 2004)
*BSD in general:
..and last but not least, we have the cutest mascot as well - undisputedly. ;)
Deep study: The world's safest computing environment (Nov 2004)
"The world's safest and most secure 24/7 online computing environment - operating system plus applications - is proving to be the Open Source platform of BSD (Berkeley Software Distribution) and the Mac OS X based on Darwin."
--
Being able to read *other people's* source code is a nice thing, not a 'fundamental freedom'.
Same old GNU/Linux FUD, that has been disproved countless times...
In short: the MIT research is *11 years old*, and that Rice study on the TCP/IP stack uses FreeBSD *2.2.6*
My bad, the redirection is done by your shell. Try sudo sh -c 'echo "..." >/etc/libmap.conf' :)
The FreeBSD problem is that, over the years, there have been way too many FreeBSD SMP "cooks" and subsuquent "recipe" changes. SMP on FreeBSD has morphed this way and that several times. A lot of the old school guys moved on like John Dyson, Mike Smith, and Matt Dillon. Matt Dillon has moved on to take a new approach to SMP altogether. I really wish that the FreeBSD honchos would have given Matt a fair listen.
I am somewhat new to FreeBSD (I've only been using it for about a year) so I dont know what the early STABLEs are usually like, but 5.x really doesnt seem to have stabilized and I'm running out of patience. I really like BSD, because the system is just overall a lot cleaner than other Freenixen that I've used, but I really think it needs to boot on my laptop without setting:
set hw.pci.enable_io_modes="0"
Setting this really bothers me mostly because I don't know what it means.
Of course, after that, inserting the kernel module for my sound card (snd_ich.ko) crashes the system...
So for now I'm (malheureusement) stuck with 4.10.
I get no response from -questions...