An update on the current status of OpenBSD Symmetric Multiprocessor support was recently posted to the OpenBSD smp mailing list. At this time, it still looks to be quite a ways off in the future, with currently only i386-specific code that will detect and spinup a 2'nd processor, but not yet actually use it. Due to personal reasons, the effort has been mostly on hold for the past year, but a new synchronization effort between the SMP branch and the main kernel tree is tentatively aimed for next month.
Also addressed was the frequent question, "Why not just port SMP support from FreeBSD?" Niklas Hallqvist, the primay OpenBSD SMP developer, explained that there were too many differences between the two operating systems for this to be a possibility, though there was plenty of excellent code there to learn from. Instead, the project is pulling from NetBSD's SMP code [story], though this still is a major effort, tracking down each area that is different between the two kernels. Niklas explains that the primary issue is, "SMP support radically changes the system and is not a localized subsystem." He also discusses areas where the project can use coding help.
From: Niklas Hallqvist To: smp Subject: Status Date: Fri, 21 Mar 2003 14:37:24 +0100 I have refrained from posting here because strictly, I have had nothing to say. Now as the occasional periodic flurry of messages have surfaced once more, I feel I ought to say something. Being the primary coder of the MP support of OpenBSD so far I can tell you that the state is basically: * All the working code there is, is in the SMP branch. It is only i386-specific parts, no machine-independent parts have been worked upon. The code manages to detect and spinup a 2nd processor, but not let it do any useful work. * The SMP branch have not been synchronized with the trunk for over a year. There are always troubles doing this synchronization due to CVS bugs which makes it a little tedious and boring. A new sync is planned to occur in April, but do not count on it. * We do have some non-working not committed code to deal with TLB shootdown. This is as far as I can recall the final prerequisite to have the 2nd processor to do anything useful. After that it is possible to do crypto off-loading or start on the MI parts of SMP. * We don't need testers at this point. When and if, we will ask for them. * Anyone willing to help codewise, there is one thing noone currently has responsibility for. Look for bug-fixes/changes in NetBSD's i386-specific MP-parts since the birth of the SMP branch of OpenBSD. Our work is based on theirs, and if they have identified problems, we likely have them and need fixes similar to theirs. This is tedious and boring, sure, but if you want to help, this is valuable work. * We are, after a year of no time at all, a few people in the team that see a few openings in our agenda to be able to at least start moving again. This is not to say something will be visible for the foreseeable future. But it means that you may be stepped on your toes if you try to do something major on your own. If you have that kind of action in your plans, write down your design thoughts and send them to me, and I can stop you from reinventing the wheel in time. I probably won't react on messages coming here in a while. I still have my hands full with real life, and cannot deal well with OpenBSD issues at the moment. Please remember that what Miod and Toby has tried to say, we set our own priorities. That what open source is all about, the freedom of programmers to work on what they want, and share the results. Open source was never about anything else. It's not about free software, it's about software freedom, and that means requirements must not be externally imposed, but come from ourselves. Please help make developers feel development is fun. Disputes does not help that goal. Niklas
From: Niklas Hallqvist Subject: Re: Status Date: Fri, 21 Mar 2003 16:04:01 +0100 I got this question private: > Call me uneducated, but why can't for SMP support from Free be cloned? In order to save on my time, I'll reply here: Because SMP support radically changes the system and is not a localized subsystem. SMP support from NetBSD is possible to use, because we are more similar to them, but finding all the thousands of changes spread out all over the kernel source tree is tedious at best, and you still need to think things through and understand them, because details are different in the two systems. SMP from FreeBSD is not an easy fit into our kernel. However, they have quite some good code to be inspired by. Part of the thing about us developers not posting here is that we always get lots of followups to deal with, and we can't, sad to say. Please respect our wish to not want to answer questions about things like this. Of course these question have a right to be posed, but not here. These questions are better done in misc@, I think. I do not at all want to be elitistic or condoning, but believe me, it stresses me, just like Toby explained, when I almost cannot manage life without OpenBSD. I am deeply disturbed that I have made next to no contributions at all the last year due to real-life issues. When I finally get to see the light in the tunnel, I want to get down to coding business, not do meta-things like talk on mailinglists, that just takes away coding time for me. This mailing list was meant as a low volume list, for announcements or tech. discussions, not a FAQ forum, and believe me, when we have something to say, we'll say it. Niklas
good luck.
They will need it (to get into the 21st century).
Was it just me...
or did the mail from Niklas Hallqvist (Subject: 'Status on openbsd-smp') sound whiny and a bit arrogant?
What a fucking dick! I work with people like that. If software is not fun for you, or if you're burnt out or can't give any time for it due to things in the "real world", then step back and let somebody else give it a shot. And give them your public support for Gods sake. What a bunch of BS. Gee, thanks for speaking for the whole open source community, Niklas! Why don't you take a break and come back when you're not burnt out. Give me a break.
Yes...
It was just you. All he was saying was:
... that there is code that is written that's not in the CVS tree, and if you plan on writing some code contact him first for the hook up.
He does not have time to react to messages on the list the way he wishes he could due to not having enough time...
... And finally please do not get into pointless pissing matches with the developers for no reason. It would be better if they were instead coding which they enjoy.
bkl
hello big kernel lock. thanks for copying netbsd and its poor implementation of smp.
RE: bkl
Well, I'm waiting for the day when OpenBSD people will really code not just hack. They waited for NetBSD to bring its i386 SMP code into -current to import it. They imported most of their drivers from NetBSD. Most of their supported platforms are initially imported from NetBSD. Their cvs is full of 'synced with NetBSD. UNTESTED'. I liked their 'proactive security' efforts and their openssh but this was happening a long time ago and, as you can see, poor code was there too. OpenBSD, it's time for you to move on and to be yourself, not just another copyied OS (remember MicroBSD ?)
There is nothing wrong with c
There is nothing wrong with copying code. That's why OPEN source is OPEN. That's what it's there for. If you don't want OpenBSD to use NetBSD's implementation of SMP, then by all means, write an implementation yourself.
You do realise that Theo is one of the NetBSD founders, correct?
Theo was one of the founders of NetBSD, back before it's goal was multiplatform usability. He made his own fork of NetBSD called OpenBSD, because of a large number of problems that arose between him and the team lead.
OpenBSD has the best written code out there, if you've got an example of anything half as good as Open, I'd love to see it. My workplace (an ISP) would stop running Open on every server but the IIS (for the clients, ew god it's awful).
MicroBSD had people that were foolish, and actually did the one thing not allowed by BSD licensing, they edited the license. OpenBSD uses code from other BSD lisences (and compatible), just as NetBSD, FreeBSD and many Linux' use OpenBSD code.
Re: Was it just me...
Would you like to develop OpenBSD? Would you like to run the OpenBSD project?
Have you ever worked on a big open source project? A lot?
Calm down. He's a volunteer. If a lot of people objected to what he was saying, they'd say something. I don't see them objecting: Most of them seem to understand that he really wants to work on OpenBSD, hasn't been able to, but is about to again.
And why are you so angry at him? I think that hostile comments like yours are more harmful than blunt comments like his.
What a fucking dick! I wor
What a fucking dick! I work with people like that. If software is not fun for you, or if you're burnt out or can't give any time for it due to things in the "real world", then step back and let somebody else give it a shot. And give them your public support for Gods sake. What a bunch of BS. Gee, thanks for speaking for the whole open source community, Niklas! Why don't you take a break and come back when you're not burnt out. Give me a break.
I sincerely hope this is a joke. Whatever he does, codes, says or tries;
does not impact in *ANY* way your ability to contribute to the
SMP of OpenBSD in any way. If you have a solution, present it. If you
do not, shut up. Theo lets CODE get into openbsd, not talk, not good
intentions, not wishlists. Code.
For whatever slow progress Niklas has shown, he at least DOES PRODUCE
CODE. More than you have contributed to OpenBSD, and more than me.
So you can either contribute to the project or go away. Niklas contributes,
but calling him a "dick" for not coding SMP fast enough is so idiotic.
Want smp faster? Pay someone to code it, or code it yourself. Until then,
don't complain, because you haven't contributed.
Never forget that people like Daniel Hartmeier and "gluk" (forgot his
name) came to OpenBSD from nowhere with complete working solutions
to problems, and they were accepted right away (after ´review of course).
But the fact still remains, anyone out there that has something to
contribute to OpenBSD can do it. There is no secret handshake, no hidden
agendas, no money to be sent to be able to contribute. You only need
to have a good solution to an existing problem and your code is in there.
No excuses for those who think that they have to hold their breath while
Niklas may or may not code SMP. Buy the books on i386's, read Free/NetBSD
smp diffs, do the homework and you can be the "dick" of OpenBSD-SMP fame.
And Niklas wont even get upset because you beat him to it.
So get of your ass and contribute.
I did. Just not for x86 or smp.
"Beowulf-esk" approach instead of SMP
Is there a load balancing project OpenBSD can use currently to distribute work to other machines? Perhaps this could be more easily coded than a fully functional, bugless, secure SMP version...
And if you use a backplane oriented system with multiple CPU cards on one backplane, it might be a very convenient way to get alot of machines crunching crypto at the same time.
Just think, OpenBSD doesn't even have a working SMP feature yet, but Debian still wants to be more like it, and Im sure quite a few Linux users lust after the kinda record OpenBSD continues to maintain.
It's not only an strongbox, it will coalate copies, slice n dice, and even trim your bikini line! Just the other day I converted a hardcore linux user to OpenBSD on the new daemons the project keeps getting like PF and etc.
Whatever, I love my OpenBSD, I was thinking of getting a tatoo of "Bloaty" our fine yellow friend
Suppose SMP is intentionally left out?
Is there need for SMP in OpenBSD, given its goals of security and correctness?
I mean, adding SMP causes opportunities for harming running on uniprocessors
and complicates understanding the system.
OpenBSD should strive the be the absolutely correct uniprocessor system.
Then someone who absolutely needs SMP could use FreeBSD or Linux.
In general, something I don' t understand is the way BSD projects rush into
duplicating each other. The oddest example is FreeBSD people adding SPARC.
Hello? I thought the whole point of the FreeBSD branch was optimizing for x86.
Someone who needs BSD on SPARC can run NetBSD or OpenBSD.
I would have to agree with Mr.Anonymous
There really shouldn't be any undue stress over the issue, as it's a trivial matter considering you can use one BSD to complement the other using multiple machines.
Need security? Put the OpenBSD machine (uniproc.) infront of the FreeBSD SMP machine, and if you need a secure enviroment on the SMP machine, I suppose the best I can say is don't upgrade unless its broken and theres a fix. Stay away from the new and flashy if you don't need it. One version behind will not kill you, and you avoid any nasty surprises that usually pop up in the first six months, even after the beta testers go at it.
I think SMP for OpenBSD would be grand, but perhaps there should be a seperate tree for that, sorta like FBSD 5.0 and the 4's... code from the SMP should not affect the uniprocessor effort, but code from the uniproc could influence the SMP effort. Let's just keep the uniproc clean and logical... and above all, tell the dev team how much you appreciate them.
highend
sparc was added for the same reasons as itanium, etc. they are going for the highend and big machines. why do you think the smp is so fine grained like solaris?
the only arch that made me double take was the PPC port. but that _could_ lead to the highend rs/6000 or as400's of ibm. (i certainly dont see much point of freebsd on powermacs, etc).
Which BSD underlies OS X?
You said "(i certainly dont see much point of freebsd on powermacs, etc)."
Which BSD is under OS X?
re: Which BSD underlies OS X?
NetBSD and FreeBSD
the ppc support in freebsd is
the ppc support in freebsd is nothing to do with darwin and mach.
ppc support is locore.s stuff. which again has nothing to do with mach.
again, i see little use of ppc targetd to powermacs, but more for ibm boxes like rs/6000 as/400