Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Operating Systems Software BSD

FreeBSD SMPng Interview with Scott Long 76

animus9 writes "There's an interesting interview with Scott Long over at the ONLamp.com. Scott explains the difference between the various locking methods, and the current status of SMP in FreeBSD 5. He also compares the new SMP implementation with that of FreeBSD 4.x, NetBSD, DragonFly, and Linux. Other items touched upon include scalability, the status of KSE & ULE, and much more."
This discussion has been archived. No new comments can be posted.

FreeBSD SMPng Interview with Scott Long

Comments Filter:
  • by Anonymous Coward on Saturday January 22, 2005 @12:52PM (#11441576)

    I must say that reading this interview 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 changeover was to take place, I marched into work Wednesday morning knowing that what I did in the next few hours would decide the fate of our network security. To my surprise, just moments after I had sat down, the Fat Perl Hacker asked me to join him for a cigarette outside away from the ears and eyes of the office. 15 minutes later, I was fully aware of the precarious situation I was in.

    Joining forces with the Fat Perl Hacker was something I had thought about but hadn't wanted to consider. It was a double-edged sword, and I wasn't about to kid myself. Although I am damn good, he had another full decade of experience over me and that included office politics. If we aided each other I ran the risk of pushing for Linux, even if inadvertently. And I certainly wasn't about to reveal my anti-Linux research to him. After doing some quick scheming, I agreed to help the Fat Perl Hacker dissuade the VP from using Windows XP but I had my own twist to what would follow after. Knowing my shortcomings, I decided to do the only thing that would give me an edge. And that was doing something that I knew better than anyone else at my office: playing dirty.

    After a power-lunch of strategizing, the Fat Perl Hacker and I went to work on cracking the Windows XP box into oblivion. We then called back to the VP and told him to load the web administration page on the firewall box. A few minutes later he was standing in my cubicle smiling. I already had a print-out of the exploits we had used and handed them to him without a word. After looking it over for a minute, he shook his head and chewed his lip. He looked at the Fat Perl Hacker and me and told us to have something more secure ready by tomorrow morning before returning to his office. Now it was crunch time. The Fat Perl Hacker smiled at me in victory, and I smiled back at him in anticipation of putting my grand plot to work.

    Now early Thursday morning, I revised my anti-Linux, pro-OpenBSD presentation into an airtight backup. I would use it as my last-ditch effort in case my primary plan failed. And that primary plan just happened to be underhanded, dirty, scandalous, unfair, and full of treason. After closing PowerPoint X I carefully downloaded and burned Slackware and OpenBSD 3.1 on the same brand of blanks the the Fat Perl Hacker used. I happened to know, thanks to some late-night "overtime" I put in the night before, that the Fat Perl Hacker was planning on presenting a burnt CD of Slackware as the solution to our firewall problem. Now if only I wasn't so scatter-brained and mislabeled burnt CDs so easily!

    After a few brief hours of sleep, I waltzed into the VP's office, asking when we would have our meeting about the firewall. He asked me if 30 minutes was OK, to which I said was fine, and also asked that I go and ask the Fat Perl Hacker if that was good for him as well. Back in the cubicle farm, I told the Fat Perl Hacker that the VP wanted to talk to him about the meeting. I had about 45 seconds in his empty cubicle to find his Slackware CD, replace it with my mislabeled OpenBSD CD, and book it back to my cubicle to put on an innocent face. I just barely made it as I passed him on the way back to my seat. Wiping the sweat from my brow, I read my email for the next 28 minutes.

    The moment of truth had finally arrived as I sat down in the conference room in front of a newly-purchased, bare Pentium4 PC. The Fat Perl Hacker joined me and the VP moments later and we got down to business. The VP smiled and said he knew we both probably had our own ideas about network security, and he wanted to hear them both. Playing the fool I volunteered to let the Fat Perl Hacker present his solution first. I tried vainly to suppress a smile as he slipped his CD from its sleeve. Holding it up, he said the magic words I had counted on him saying: This is all we'll ever need to keep the network secure.

    A few beeps and whirs later from the PC and the Fat Perl Hacker was greeted by OpenBSD 3.1, ready to format and install on the hard drive. Not waiting a second for his jaw to unslacken, I jumped up, slapped the table, and exclaimed that I couldn't have picked better myself, shaking my own burnt CD in the air. What a coincidence! And things just got better from there. So much better, in fact, that I didn't even need to bust out my PowerPoint presentation. It turned out that Fiscal wanted an answer right then and there, I heard through the freshly-answered phone, and the VP didn't waste an instant telling them he was on his way. That is, before informing the Fat Perl Hacker that he was about to get assigned a bunch of new security modules to customize and that I'd have to do the firewall install and configuration. The L-word hadn't even been uttered during the meeting and I was homefree.

    The weekend overtime didn't bother me at all. I got time-and-a-half for it and the firsthand opportunity to make sure OpenBSD would oversee the sanctity of our network. Things went so well that we didn't even have any network hiccups the next Monday morning. Despite the unexpected Windows XP push, the Fat Perl Hacker's Linux obsession, and a few variables left to chance, I had come through with flying colors and even impressed myself. The Fat Perl Hacker, however, never invited me to join him for a cigarette again.

    As you can see, there is a good chance that I will finally get to the point when we have this new systems running FreeBSD and the firewall running OpenBSD, even though doing so only few years ago would be nearly impossible. I see great possibilities for our company here. Kudos to Berkeley and all of the BSD developers!

    • by Anonymous Coward
      Hilarious read since I can clearly relate to it. I now see the light having to deal with continual issues with a major network vendor's Linux-based IDS. Over a course of about a year I've deal with issues such as telnet/ssh/https management interface hanging and the only work-around was to bounce the appliance and, separately, disable swap memory with "swapoff -a". Vendor couldn't fix it so they replaced it with a higher end model (same Linux OS). Then, it was the spontaneous reboots with the new model.
      • I've never had any stability problems with any operating system on typical loads, be it any BSD, Linux or Windows NT/2000/2003, that have not had a root cause directly related to hardware, drivers or noisy network links.

        You cannot differentiate between operating systems based upon stability as they are all roughly equal.

        Disks pop, UPS fries, ram goes bad, server accidently gets connected via phone cord, but never do servers spontaneously crash on well supported hardware.

        Jason
    • Now try to visualize that story with FreeBSD's Scott Long [freebsd.org] (2nd on the left) and his Linux mullet-sporting namesake counterpart [jesusphreaks.com]. I don't know about you, but I think Linux has finally found its poster guy, he and Tux look so happy together in that photo, don't you think? Of course, they'll also need a new slogan to go with the new poster, so I propose "Linux: the bare essentials open source OS. Who do you want to get friendly with today?"

    • That's a cool story, but I almost got canned from a job because OpenBSD crapped out shoveling packets on hardware that even Windows ran fine on - all very common hardware, all-intel (mb/chipset, cpu, and nics) and as vanilla as can be. Sadly, I ended up with a PIX there for a while.
  • by Julian Morrison ( 5575 ) on Saturday January 22, 2005 @02:24PM (#11442270)
    This article discusses FreeBSD's preference for sleep locks as versus the spin locks in Linux.

    Anybody know why Linux went for the spin lock approach? What are the relative merits?
    • by Anonymous Coward on Saturday January 22, 2005 @03:07PM (#11442623)
      Linux uses spinlocks but only when it is certain that it will be released very quickly. It boils down to efficiency. That is because if a lock is held for a very short amount of time, it is more efficient to wait for it than to switch tasks. The Linux design is really to minimize lock hold times by doing as much work as possible without holding locks, and then checking to make sure that things are still right. This technique has allowed Linux to scale linearly up to hundreds of processors. In practice, Linux's SMP implementation has proved to be one of the best.
    • Anybody know why Linux went for the spin lock approach? What are the relative merits?

      AIUI, the reason is that spinlocks are much faster for locking small pieces of code, when the locks aren't congested. While sleepinglocks are better when one or both of these isn't true.

      So given that you want both of these to be not true anyway (so you can have more code running on more procs), using spinlocks isn't a problem.

      The same idea is also shown where in *BSD you have a heirarchy of interupts, vs. the stop

  • There's been seven BSD articles on slashdot since the beginning of the year.

    And apache? Nothing. Last year, just after Christmas, a bit about test mod_perl (and that's barely apache).

    BSD is doing fine. Apache is dying. ;)
  • It isn't even worth arguing whether or not this study is flawed. Until somebody at least claims to find that Firefox has more than a single-digit market share, any report that Firefox is "gaining ground" is just hype, and actually hurts the product.
  • 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.

Our OS who art in CPU, UNIX be thy name. Thy programs run, thy syscalls done, In kernel as it is in user!

Working...