FreeBSD’s Jeff Roberson says that the ULE scheduler has entered into its probationary period as the default scheduler on FreeBSD. He says that if all goes well, it will remain the default through the rest of FreeBSD 5.x releases. The ULE scheduler was designed to address the growing needs of FreeBSD on SMP/SMT platforms and under heavy workloads. It supports CPU affinity and has constant execution time regardless of the number of threads.
At what point release of 5.x will FreeBSD be declared “production level”. 5.3?
Also, I still get confused between -RELEASE and -STABLE. Is there a -NO_MORE_DEVELOPMENT_ON_4.x_USE_5.x_FROM_NOW_ON release?
“Is there a -NO_MORE_DEVELOPMENT_ON_4.x_USE_5.x_FROM_NOW_ON release?”
Heh. I’ve wondered that myself! Seriously, although I understand their reasons for not yet creating a 5-STABLE branch, I disagree with their methods. 5.0 should not have been ‘released’ until the code got to where it is about now, as it’s becoming terribly confusing from the POV of outsiders (being potential new users and whatnot).
I am very much a fan of FreeBSD, so take what I’ve said merely as my opinion and not as an attack on the project or it’s people.
-RELEASE is an indication that a particular code tree is release quality. Its is equivilent to Linux’s 2.6.0 release. -STABLE is an indication that a particular code tree is production quality. -STABLE has no direct Linux equivilent, but waiting for 2.6.4 or 2.6.5 until installing a new kernel is the same as waiting for 5.x-STABLE. There is no such thing as the “NO_MORE_DEVELOPMENT_ON_4.x_USE_5.x_FROM_NOW_ON.” Many FreeBSD people use 3.x to this day, because they have no reason to upgrade. Old kernels continue in maintainence mode, with security fixes and whatnot.
Well, FreeBSD isn’t really aimed at home users. The type of people that use FreeBSD understand the distinction between -RELEASE and -STABLE, because they make that distinction themselves even for software that doesn’t use that terminology. These are the people who are sticking with Windows 2000 until WinXP SP2 comes out, and are sticking with kernel 2.4 until 2.6 has several releases under its belt.
I am well aware of their way of making and naming releases and their target audiences. What I was trying to get accross was that it seems like they knowingly set up a system that is more complex than it needs to be.
My argument applies equally well to non-technical bosses and others who do the actual deciding on what technologies are to be employed, as it does to ‘home users’. One look at the FreeBSD release process is enough to scare away any business people I know.
Just my opinion.
OT: I do know a guy who runs 2.2.8 to this day. He swears that nothing before or since is more stable. The good old days I guess
FreeBSD 2.2.8 that is.
O(1) for BSD? Good 🙂
I am wondering how long before we see a 5.x -STABLE? Please don’t answer “when it’s ready”. I’m just looking for an estimate. e.g. 2 months etc.
Thanks
All answers are here: http://www.freebsd.org/releng/
Obviously the anonymous individuals that post comments about confusion between stable/current/release are trolls.
There really is no need for a re-explanation of these concepts EVERY time there is a FreeBSD story. There is a pretty good chance that anybody going through the trouble of acquiring FreeBSD is going to be smart enough to read the MANY warnings/explanations on the FreeBSD website about 5.x vs 4.x. And if they don’t? well that’s their problem — they’ll soon learn their lesson, now won’t they?
It is for these reasons that I believe any further comments posted about stable vs current vs release should be modded down, as they do not contribute productively to the discussion and only confuse potentially new users that do have a legitimate interest in FreeBSD.
Thanks.
> All answers are here:
I personally like the two branches of freebsd development and it seems more natural than the Linux one (reason: in freebsd every number will become production given enough time become stable, linux 2.5 will never be declared stable so that “productioness” skips the odd numbers which to me makes the system a little weird). Plus considering that FreeBSD is more than just a kernel but a kernel plus utilities and shells and whatnot. Just because something is more difficult and compilated doesn’t mean it should be stopped or that its not better. For example tax brackets make doing taxes messier but prevents (ideally!!!) taxing those you can’t afford it and making sure you do those who can. So in conclusion I’m waiting till the they start working on 6.x because then i’ll know that 5.x is ready!
What I was trying to get accross was that it seems like they knowingly set up a system that is more complex than it needs to be.
I can to some extent agree. Certain issues are simplified very much, such as ports and packages. But some things are simply a pain, like when you choose to install X, couldn’t BSD at least try to configure your drivers including sound card straight away? Or have the option to?
The big difference between Windows and BSD is that Windows learns about your HW and configures it… BSD demands you to know your HW. Like syncrates on your monitor (as if I’d have a clue or want to have one).
“5.0 should not have been ‘released’ until the code got to where it is about now”
What kind of nonsense is this? How on earth do you expect to test something without releasing it huh? Magick?
The 4.x/5.x structure is confusing for anyone who’s unable to read the manual .. I hope that doesn’t include you.
Hooray! I just updated my system from 5.1 to 5.2, changed the scheduler to ULE and enabled SMP. SMP kernel is the default now even on uniprocessor machines. Now I have two (logical) CPUs because of the P4’s hyperthreading
$ dmesg | grep -i cpu
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2411.60-MHz 686-class CPU)
Hyperthreading: 2 logical CPUs
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
acpi_cpu0: <CPU> port 0x530-0x537 on acpi0
acpi_cpu1: <CPU> port 0x530-0x537 on acpi0
SMP: AP CPU #1 Launched!
RE: Uruloki (IP: —.telenet-ops.be) – Posted on 2004-01-26 07:39:52
Release candidates.
RE: James (IP: —.wp.shawcable.net) – Posted on 2004-01-26 05:07:15
Aren’t you just a cheery, helpful sort. And quite a dick to boot.
The big difference between Windows and BSD is that Windows learns about your HW and configures it… BSD demands you to know your HW. Like syncrates on your monitor (as if I’d have a clue or want to have one).
That information can be found in your monitor book, right at the back along with the maximum temperature for operation along with numerous other bits of information.
FreeBSD asks you for no more information that they would expect you to have on hand. Everything asked is listed in your computer manual.
I agree with james. There is nothing confusing or even complex about freebsd release policy. Everything is explained in detail in the handbook and release engineering document. It can be summarized as:
Branches: stable and current
CURRENT – bleeding edge, new stuff goes there, obviously development branch.
STABLE – code that has been tested in CURRENT goes there, but still considered development branch.
RELEASE – can come either from STABLE or CURRENT. The one made out from STABLE will be the production release, the one from CURRENT will be the new technology release.
This schema provides a sense of continuity in the development of FreeBSD. You can choose to go with releases from stable if you want stability (much like in debian woody, except for the fact that you will still have the same up-to-date programs, for ports works for all branches). You can go with releases from CURRENT if you are more adventurous, but unstable has a different meaning in bsdworld than in linux in MY (no flames please) experience: been using FreeBSD since 5.1 RELEASE, and it was more stable than any of the linuces I have tried (this isn’t necessarily about linux the kernel, it is more about linux as a distro, or at least the ones I tried: RH 7.3, Mandrake 9.0/9.1 and Debian testing/unstable). You can also opt to track one of the branches directly. See what that means here:
Tracking STABLE and CURRENT: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-s…
ABOUT ULE
When I upgraded to 5.2 (rc2 first), I switched my scheduler to ULE and experienced the same performance improvement this post is about. While using the old (4BSD) scheduler, I experienced the same thing I had under linux (2.4.x). Under heavy load (compilation + copying large files at the same time) interactivity suffered in the usual ways: mouse cursor movement had those typical glitches, music playback as well. Since I switched to ULE, these (the most visible things for a desktop user) are completely gone. Of course, things slow down a bit on this old machine (700 duron with 256 sdram, TNT2 card) – but no more hiccups in mouse cursor movement, even if I compile a port and do portsdb -uU at the same time. Every application works just fine (including nvidia drivers), the only odditiy I noticed (I don’t know if its related however) is a kernel message while starting KDE/X:
Warning: pid 686 used static ldt allocation.
See the i386_set_ldt man page for more info
I haven’t noticed any adverse effect of this message, however. So I can only recommend for all 5.2 users to switch and test ULE – I didn’t have any problems with it so far, and I use a great variety of applications (OpenOffice, KDE, fluxbox, apache, pure-ftpd, postfix, mplayer, etc.). The benefits are worth it. (to change this you need to replace the line “options SCHED_4BSD” to “options SCHED_ULE”. in your kernel config file. Besides, its a nice wordplay
The big difference between Windows and BSD is that Windows learns about your HW and configures it… BSD demands you to know your HW. Like syncrates on your monitor (as if I’d have a clue or want to have one).
Wow… Have you even used FreeBSD (or an of the BSDs) recently? XFree86 4 (the standard for all the BSDs) uses DDC to detect horizontal and vertical frequencies, just like Windows does.
Adam
Hiya.
Is the ULE scheduler by default in the new 5.2 release?
If the answere is yes does anyone know how I can verify this and if the answere is no how can I switch to the new ULE scheduler?
At present I just installed FreeBSD 5.2 at my house as a desktop computer just to get familiar with it and so far I am really enjoying it for its ports collection.
thanks a lot,
Jim
Is the ULE scheduler by default in the new 5.2 release?
No, it is (from now on) the default in -CURRENT, which means it’ll probably be the default in 5.3-RELEASE.
If the answere is yes does anyone know how I can verify this and if the answere is no how can I switch to the new ULE scheduler?
You have to compile a custom kernel in 5.2-RELEASE to accomplish this (since it isn’t the default). Check the handbook on how to do this. In your custom kernel configuration file, you should replace ‘options SCHED_4BSD’ with ‘options SCHED_ULE’.
No, ULE is not the default in 5.2, but as the story says:
“ULE has been stable for some time. The only problems that are likely to remain are corner cases where interactivity is not as good or where performance is not as good as with the old scheduler.”
That’s good enough assurance for me to use it on my desktop machine. And it seems to work. This is highly subjective and unscientific, but for what it’s worth, I’m running two instances of the prime95 stress test right now, yet Mozilla Firebird is still reasonably snappy (although it took some seconds to settle); whereas before I think it would have been sluggish.
“There is no such thing as the “NO_MORE_DEVELOPMENT_ON_4.x_USE_5.x_FROM_NOW_ON.”
Literally true as to the second part (that is, you can use older versions as long as you like), though the project does eventually stop updating code on older versions – I can’t recall right now whether that’s determined by version numbers (e.g., 2.x and prior are no longer being updated), age (e.g., versions more than x years old are no longer being updated), or simply when core team feels it’s no longer wise to devote the resources.
Jud
There is some info about “plans for the 4-STABLE branch” in the Early Adopter’s Guide:
http://www.freebsd.org/releases/5.2R/early-adopter.html
There would be no confusion if one would simply read the documentation.
That information can be found in your monitor book, right at the back along with the maximum temperature for operation along with numerous other bits of information.
Yes and I asked for simplification. This is stuff other systems automatically finds and configures, so why not BSD?
Wow… Have you even used FreeBSD (or an of the BSDs) recently? XFree86 4 (the standard for all the BSDs) uses DDC to detect horizontal and vertical frequencies, just like Windows does.
Yes yes, I use it… have 5.2 installed on my box and it didn’t configure it very well, that’s for sure. Not the soundcard neither which is also manually patched. I’m just asking for some plug n play here, what’s wrong with that?
XBe, you don’t have to know the syncrates of your monitor to configure X – at least not on any modern system. Type ‘XFree86 -configure’ to let X figure it out for you, and follow the instructions. Type ‘kldload snd_driver’ to load the sound card drivers.
Why isn’t FreeBSD Handbook up to date on the issue? ^^
would simplify things quite a bit…
I thik part of each release should be making sure the handbook is uo-to-date since the first answer to any question is always RTFM so it’d be nice for the answer to be there.
Why isn’t FreeBSD Handbook up to date on the issue?
Uh? They are already in the handbook; it’s you that who are out of date and haven’t check in there again.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/sound-set…
http://www.freebsd.org/releases/4.9R/hardware-i386.html#AEN1735
Outlines the audio devices supported by FreeBSD “out of the box”.