Slashdot Mirror


New Kernel 2.4 Development Branch (-mjc)

Ivo writes: "kerneltrap is reporting: Michael Cohen announced to the lkml his intention to begin a new 2.4 development tree. The first release of his -mjc branch includes a number of performance enhancing patches, including Robert Love's preemptible kernel patch, Rick van Riel's reverse mapping patch and George Anzinger's real time scheduler patch. Michael says of this patch, "I feel that there's need for a rapidly developing '-ac [like]' tree, and so, here we go. Feel free to test it""

18 of 197 comments (clear)

  1. 2.4? 2.5? by Bert64 · · Score: 3, Insightful

    Isn`t 2.5 where the "fast paced" development is supposed to take place? anyway, i`m all for performance enhancing patches.. i run some fairly old hardware here for money saving purposes. The kpreempt patch seems to work well on x86, but it would be nice to see it ported to the alpha.. Is -mjc going to keep up with the performance related patches added to 2.5, and backport them?

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    1. Re:2.4? 2.5? by Zog · · Score: 5, Interesting
      Is -mjc going to keep up with the performance related patches added to 2.5, and backport them?


      Most of the performace patches (pre-emptible, etc) are just patches to the current kernels that the stable kernel's maintainer hasn't accepted, for one reason or another. Chances are, they will go straight into 2.5 so that they can be tested and improved upon.

      The reason for -mjc is to allow people to use the performance patches without having to worry about conflicts between the patches, applying them, etc - it looks just like a normal kernel package, except with -mjc at the end.

      The -ac series follows the same guidelines - it tends to have slightly fancier features, newer drivers, etc. Every once in a while, when the stable kernel's maintainer decides that the -ac series is stable enough, a lot of the patches that went into -ac are put into the stable series, to get all the new drivers in there.

      I doubt that will happen the same way for -mjc, since the patches are more along the lines of getting every little bit of performance possible, instead of having a wide testing ground for new drivers, vm's, etc.
  2. Re:this sounds really cool but by Verteiron · · Score: 4, Redundant

    That's a question I had, as well... isn't one of the big "selling points" about Linux the fact that there aren't branches and forks everywhere? The appearance of one may prompt the appearance of others. It may not confuse us, but corporates looking at Linux may be stumped by the sudden availability of several different "versions" of the 2.4 kernel. And it's the exact sort of thing that Microsoft loves to make fun of Linux for (I recall a German magazine ad directed against Linux. It showed the same animal 4 times, but each time it had a different head. The gist of the ad was "Code forking is bad, Linux can be forked, so ignore the Win9x/WinNT thing and use Microsoft.").

    I think the terminology here should be used very carefully; these are patches to the official 2.4 kernel. Not kernel branches. Branches indicate disagreement between programmers (remember, corporate viewpoint here). Patches are just additions by independant groups, which is far more acceptable to the corporate mindset. I wouldn't make such a big deal of this, but this is a very delicate time for Linux. A lot of people are truly beginning to take it very seriously, and the one thing the Linux community needs to do is present a united front to the people inspecting it. Any indication, real or perceived, of internal turmoil will drive businesses (and individual users) away.

    --
    End of lesson. You may press the button.
  3. Re:this sounds really cool but by NumberSyx · · Score: 3, Insightful

    I don't think there will be a problem, after all the AC branch has been around for a long time. I got from the report is this new branch will replace the AC branch now that Alan Cox has moved onto 2.5 development. Besides I see no reason to srop development on the 2.4 branch just because Linus opened 2.5, people are going to be using the 2.4 kernel for along time to come. So I say Why Not ?

    --

    "Our products just aren't engineered for security,"
    -Brian Valentine,VP in charge of MS Windows Development

  4. New kernel tree akin to ac tree. by Zapman · · Score: 4, Insightful

    Read what the maintainer says on the slashdot article:

    "I feel that there's need for a rapidly developing '-ac [like]' tree, and so, here we go." --Michael

    The -ac tree has moved on to the 2.5 world. He feels the need that -ac filled in the 2.4 world is still there, so he's doing something about it. This really isn't any more fragmentation than there was beforehand.

    The -ac tree existed as a 2.4 (and 2.2 before it, and 2.0 before that) testbed (sort of a development kernel in the stable kernel code) that saw a decent bit of testing from developers. People could submit patches to Alan, and they had a much better chance of getting included. After they'd been tested for a few versions, and cleaned up some, and whatnot, the patch would go to Linus for inclusion in 2.4. Michael is offering his services to do the same job now that -ac has moved on to 2.5.

    --
    Zapman
  5. Re:this sounds really cool but by uchian · · Score: 3, Insightful

    That's a question I had, as well... isn't one of the big "selling points" about Linux the fact that there aren't branches and forks everywhere?

    When most people think Linux, they think of the operating system as a whole, and on that level we already have many multiple branches and forks. Debian, Redhat, Mandrake, etc...

    If I was to pick a big selling point for Linux, it would be based on price and customisability - this branch targets Linux on the workstation whilst the official branch is more aimed at servers, or at least that's how I understand it.

    I agree with you to a certain extent that terminology is important. Perhaps it should be given a catchy unofficial slogan, like "Desktop optimised", or "Linux for Workstations", or some such thing.

  6. Re:Great, more fragmentation by erat · · Score: 4, Offtopic

    Sure, the free sound drivers could be better (remember, though, that OSS from 4-Front is available for FreeBSD, so this isn't a monumental issue), 3D support isn't fantastic, and quality SMP support isn't going to hit FreeBSD until probably version 5.0.

    Regardless, your comment about FreeBSD being an inferior desktop OS is simply, undeniably, completely wrong. The same open source and free software available for Linux (with VERY few exceptions) is available for FreeBSD. If you're a gamer then 3D and sound may be an issue for you, but call a spade a spade, "desktop box" != "game box". When I think of desktop machines, I think of productivity, machines that help you get lots of important stuff done easily and quickly. When I think of game machines I think of Playstation 2s. Sorry, but I would rather spend $300 on a PS2 than dedicate my $2,000 PC to gaming (the PS2 would probably run better anyway).

    Yes, I am another Linux --> FreeBSD convert. My machine does run better with FreeBSD, Mozilla actually works efficiently even with debugging stuff compiled in, and I get LOTS less zombie processes and frozen apps, etc. now that I've switched over. And yes, my Linux machine at work runs the exact same software and window manager as my machine at home (except for Mozilla, of course).

    Both OSes have their plusses and minuses. Linux is more ubiquitous, but I still think FreeBSD has eeked ahead in some areas. Not all -- Linux will be in the lead for quite some time, I'm sure -- but some.

    Rather than poo poo FreeBSD based on game stuff, why not try it as an actual desktop OS?

  7. Re:Linux Fragmentation by erat · · Score: 3, Insightful

    The whole idea of keeping things like the Linux kernel open is to allow things like fragmentation to happen. If you don't want to use the "-abc" kernels, they're easy to identify, so you shouldn't have any problem avoiding them.

    Now, if someone made their own fork and named the files exactly the same as the "real" Linux kernel (i.e. not Alan Cox's, or any other non-Linus blessed kernel), then there would be problems. I'm not worried about this at all. In fact, I'm glad to see others who are either impatient with the slowness of Linus' team or are fed up with the petty bickering over crap like VMs pick up the ball and do things their way. And as always, if these one-off kernels have cool stuff, Linus and his merry men are free to harvest what they like and incorporate the stuff into their source tree.

    One person's fragmentation is another person's diversification. This kind of fragmentation gave us multiple Linux distributions, embedded Linux innovations, and a host of other things that lots of folks are thankful to have.

  8. Re:Great, more fragmentation by Ami+Ganguli · · Score: 3, Insightful
    Hmmm... I wonder if I can run XFS without recompiling... Nope, looks like I'll have to upgrade the kernel. But wait! Do I use the -ac kernel with its new VM or do I use the main branch with the most "standard" stuff? Oh crap, looks like 2.4.whatever had a really bad bug by default, and they didn't fix it until 2.4.later. Shit, I don't have the time for this.

    I'm glad you're happy with BSD, but really you could have had the same thing by ignoring the various development trees and optional components and sticking with a distribution you like. The nice people at Debian, Red Hat, Mandrake, etc. will happily test everything for you and make sure it works. Each of the Linux distributions fulfills the same role for the end user as one of the BSDs.

    --
    It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
  9. Re:Real world impact? by blakestah · · Score: 5, Informative

    So how much gain in performance (or apparent performance) should one expect after applying this combined patch? Are the performance gains only applicable under special circumstances? Are they focused more on desktop apps than server?

    I doubt you will see ANY performance enhancements with this patch - in fact, under most circumstances, performance will be worse.

    The patch MOSTLY addresses a need to have shorter latency responses under linux. So the real benefit will be seen if you, say, run xmms, browse the web on a java intensive site, and do a make -j10 bzImage at the same time. On most machines this will cause xmms to stutter a little - either an audio skip or the text in the scrolling windows will stop and start. With the patch you can expect perfect xmms performance under broader circumstances.

    This has the most significant implications for audio and video under linux - things that require short latencies to perform properly. This is questionably the most needed area of improvement for the linux kernel for desktop use.

    However, if you time kernel compiles or run lmbench, you'll probably see slightly (but not hugely) worse results. You can expect that changes to address these issues will be incorporated in mainline kernels eventually, although not necessarily in the form that these patches take. Maybe - it will be interesting to see it sort out.

  10. Re:Great, more fragmentation by foobar104 · · Score: 3, Interesting

    I'm glad you're happy with BSD, but really you could have had the same thing by ignoring the various development trees and optional components and sticking with a distribution you like.

    This is, of course, crap.

    Here's a real-world example. The story began early last year. I had a spare PC with USB at the office, so I thought I'd put a couple of Keyspan USB-Serial adapters on it, load Red Hat 7.1, and use it as a console server for our SGI Origins.

    Standard Pentium III PC-- no unsupported parts in it. GeForce2 graphics card, but I had no intention of installing X anyway, so minimal support is all that's required. The Keyspan USA-49W serial adapter is, according to the source tree, to Red Hat, and to Keyspan, supported completely under Linux 2.4. I felt pretty safe.

    I don't enjoy messing with Linux, but I do prefer XFS to EFS for several reasons, so I thought I'd try SGI's modified Red Hat 7.1 installer that supports XFS. It installed a 2.4.3 (I think) kernel, which wasn't too far behind at that time. I'd used that installer before, so I felt safe with that, too.

    I installed the OS, then I put the Keyspans on. They didn't work. Why not? Despite the fact that the Keyspan driver had been installed as a module with the Red Hat default install, it had been compiled with no firmware in it. So I had to load the sources, load the compiler, and recompile the kernel modules to add Keyspan firmware support.

    Then I installed the new module and found that one of my Keyspans was working, but not the other. Turns out whichever one was plugged in first worked, but the subsequent ones wouldn't. Driver problem.

    Frustrated, I gave up for the weekend and didn't touch the system again for several months.

    Earlier this fall, I happened upon a mention of this bug being fixed in the Keyspan driver. Cool. So I downloaded the latest Keyspan driver source and put it on my machine and rebuilt modules. Only the new Keyspan sources wouldn't even compile. I'm sorry that I don't remember the error, but it had to do with the layout of a struct. The 2.4.3 source tree had a different struct than the Keyspan driver expected.

    (An aside: it has always been my understanding that minor version changes must not introduce incompatibilities. I mean, that's what 2.5 is for, right? To have a data structure that's laid out one way in 2.4.3 and another, incompatible way in 2.4.9 strikes me as just wrong. End of aside.)

    By that time, I thought I understood my problem. I would dump Red Hat with XFS and install vanilla Red Hat 7.1, then install the latest kernel sources and compiler, then install the new Keyspan sources, then compile the module, then it'd work.

    Well, it didn't quite work that way, either. What with one thing and another, I was unable to get a working kernel.

    Again, I gave up for a few months.

    Then SGI released their modified Red Hat 7.2 installer, with a 2.4.9 kernel, so I decided to try just one more time. Install Red Hat 7.2 with XFS, install the sources, install the compiler, install the new Keyspan sources, make the module.

    Success.

    So I got my system working the way I want it to work, and I'm now very happy with it. But it took me three long weekends, spaced out over several months, and three start-over-from-scratch attempts.

    I'm frustrated that Red Hat decided to include the firmwareless version of the Keyspan driver, since it would have been so much simpler to just compile the firmware into the module so it would work out of the box. I'm disappointed that the person who maintains the Keyspan driver was unable to QA his work sufficiently to prevent the only-one-adapter bug from hitting the streets. And I'm mad that a driver module should compile cleanly only under 2.4.9 or later, but not earlier versions. That's not the right way to maintain an OS.

    Sorry for the overlong post, but your contention that the distributions are out-of-the-box solutions is just plain wrong.

  11. Re:Great, more fragmentation by Mark+Bainter · · Score: 3, Offtopic
    [snip] Just the other night I decided to dump Linux off my home machine all together and went with FreeBSD. [snip] I have absolutely no regrets.

    Great! I'm glad you found an OS that makes you productive and happy. However, those things which you list do not make *BSD a better OS. They make it a different OS. *BSD appeals to a different type of user, imo. Ignoring the masses on both sides and looking at the core userbase that is. Some of us like having flexibility and choice, and we don't mind putting in the time to know all about our system. When that's the case little things like a lot of kernel versions just aren't a big deal.

    Linux is not for everybody. Neither is *BSD. Each person has to decide for themselves which system fits their needs and then use it. All this OS bigotry is just ridiculous.

    I'm all for proselytizing, and cheering the benefits. The problem (for me at least) comes in when people have this underlying tone of trying to declare one OS better than the other. Isn't it enough that you use it? (speaking generally here, not specifically to the previous poster) Or do you need the masses to agree with you before your choice can be validated?

    --
    "No nation could preserve its freedom in the midst of continual warfare."
    --James Madison
  12. Re:Ugg, try installing ipnat on freebsd.. same thi by phaze3000 · · Score: 3, Insightful

    Novell Netware

    --
    Blaming GW Bush for the Iraq war is like blaming Ronald McDonald for the poor quality of food.
  13. Re:Ugg, try installing ipnat on freebsd.. same thi by rtaylor · · Score: 3, Informative

    ipnat, ipf, and various other tools of that nature have modules installed by default.

    Looking forward to the day when kernel modules are a 'load on use' resource. That is, if you try to access /dev/snd it'll load sound drivers until it finds one that works and goes with it. devfs will do some of that, and the rc.conf options also do some of it (in 4.3 or so it does for ipnat).

    echo 'ipnat_enable="YES"' >> /etc/rc.conf

    The above should load the ipnat kernel module and get you on your way at the next reboot.

    NOTE: The above statement depends on ipfilter running, so:

    echo 'ipfilter_enable="YES"' >> /etc/rc.conf

    may be required as well depending on current configuration.

    --
    Rod Taylor
  14. Re:Great, more fragmentation by Ami+Ganguli · · Score: 3, Funny

    I don't see how any of this is relavent. What you're complaining about is that:

    • The packaged kernel doesn't have all the latest features and drivers.
    • Some drivers have bugs.

    This is of course true. That will be true of any system. Obviously you're going to give up something in the trade-off between "easy to use and stable" vs. "bleeding edge".

    your contention that the distributions are out-of-the-box solutions is just plain wrong.

    No it's not. Distributions are the out-of-the-box solution. Your problem is that you aren't satisfied with the out-of-the-box solution. Would you have faired better with one of the BSDs? Do they even have XFS?

    --
    It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
  15. Re:FreeLinux, OpenLinux, NetLinux? by rtaylor · · Score: 4, Insightful

    If you really wanted to get technical FreeBSD is heavily fragmented within for the purpose of code creation without toe stepping.

    TrustedBSD, SMPng, and KSE stuff were all seperate BSDs (temporarily anyway).

    Branching source for the purpose of better co-ordinating development without forcing others to wade through your broken source or wait on you is a good thing.

    However, I'm not overly fond of Linux branching for development by indivials rather than for a specific project -- but thats just a labelling issue :)

    --
    Rod Taylor
  16. Re:This is a really bad idea by josepha48 · · Score: 3, Insightful
    Not really. This is really no different than Redhat having their own kernel that they ship with their distribution. They include none standard patches. They were including ext3 before it became part of the default tree. They include lmsensors, and many other patches. SuSE does (or used to when I tried their distro) ship their own custom kernel.

    So this is an official 'fork()' of the linux kernel. It really depends on how they do this. If they take the default kernel or current 2.4.x and add their patches and work with that they can actually send patches back to the main kernel which could make it into 2.5 / 2.6.

    Oh and their are more tahn 3 kernel trees, 2.0.x (yes it is still used), 2.2.x, 2.4.x, 2.5.x and the -ac tree, which seems to have gone as Alan stepped aside (I could be wrong about this). There are also ALL sorts of projects out there that have patches to the kernel tree. So what?

    The only issue arrises when things like glibc become effected or the kernel structures and people program for a particular tree. If that happens then their could be problems.

    --

    Only 'flamers' flame!

  17. Good news for embedded applications!!! by PastaAnta · · Score: 3, Insightful

    Most ./ readers seem to think that it is all about Servers vs. The Desktop.

    I can safely say: IT IS NOT!!!

    For a great deal of embedded applications it is a necessity to have lower and deterministic latency. Therefore these patches will raise the acceptance of Linux as an alternative embedded OS.

    I guess it will be a long time though before Linux itself will have REALLY low (microseconds) latencies and hard real time behaviour. Right now this can only be achieved with addons like RTAI or RTLinux.

    The RTAI and RTLinux addons are really real time schedulers that run the Linux kernel as lowest priority thread. This gives an added complexity for the real time programmer. But maybe this "sandbox" approach is really a good thing and the way to go for hard real time, as it will be almost impossible to guarantee hard real time with a complex beast like the Linux kernel.

    But for many applications the latency and quality of service you can get with the patched kernel will probably be enough - so keep up the good work!!! :-)