Slashdot Mirror


The Silent Kernel Platform War?

iJosh asks: "Recently I decided to be hip and cool and update to the latest Linux Kernel (v2.4.1). Since this decision I've downloaded and tried to compile the offical source from Linus and crew on my PowerMac 7300 only to run into errors for the PowerMac PCI controller. I took this up with Paul Mackerras maintainer of the PPC kernel and his response was quite interesting to say the least and it got me thinking. He basically says that Linus is ignoring the patches from the people working on the PPC side of the kernel, and that they are keeping their own tree so people are not stranded out in the dust with kernels that will not work. My question really comes down to this: Is the linux kernel forking away from PowerPPC? Is this happening because of issues regarding OS X and the possibility of many users jumping ship, away from LinuxPPC upon release? Or is this some kind of quiet platform war from the major kernel developers?"

11 of 242 comments (clear)

  1. Re:Kiss my furry ass! by nomadic · · Score: 4

    Don't post on slashdot anymore pal. This site is for people with brains in their heads, not prejudism in their heart.

    You must be new...
    --

  2. It may be nothing insideous by eXtro · · Score: 4
    It may be a case where fixing outstanding bugs is more important than maintaining the different architectures is the right thing to do for the time being. If you look through the kernel logs you'll see that from time to time architecture specific changes are rolled in. The number of x86 users dwarfs the number of PPC/SPARC/etc users, so in the time it takes to verify and integrate the other architectures might be better spent elsewhere for now.

    I'd hope that architecture politics stay away from the linux kernel.

  3. Re:one sided? by Ranger+Rick · · Score: 5

    Yup, go read the linux-kernel mailing list archives; at least once every couple of months, someone tries to give Linus a 300K patch, and he rejects it. Linus wants *small* patches, which do specific things, or implement one new feature.

    Kernel Traffic has summarized this numerous times, if you don't want to wade through the lkml. Essentially, the only reason NON-platform-specific stuff gets through faster is because it all goes to Alan Cox, who then stuffs them into his own tree (the -ac* patches). When he decides they're stable enough to pass on, he breaks them up into bite-sized pieces for Linus.

    It sounds like the PPC maintainer isn't willing to do this, and so they're falling by the wayside.


    1st Law Of Networking: Loose ends are bad, termination is good.

    --

    WWJD? JWRTFM!!!

  4. Indeed. by Christopher+B.+Brown · · Score: 5
    If the PPC people are offering Linus huge patches that change lots of non-PPC-specific code and interact scarily with the little patches coming in from other groups, then what's he to do?

    He can choose to:

    • Take the PPC patches as gospel, and throw away everyone else's contributions,
    • Go through a whole lot of work breaking the PPC patches down into bite-sized components, or
    • Tell the PPC developers to turn the PPC patches into bite-sized components themselves, and ignore the huge patches that he hasn't time to integrate in.
    In effect, he's going with "option 3" here, and that's not an outrageous outcome. The LinuxPPC folk may not like this outcome, but it's neither new, capricious, nor is it discriminatory. Alpha has suffered from much the same issue...
    --
    If you're not part of the solution, you're part of the precipitate.
  5. Word from a PPC kernel hacker (Facts) by BenH · · Score: 5

    Well, I won't even try to rely to most of the crap I've read here, sorry guys, but some of your comments are just so...

    There are several points about the PPC arch. First of all, it's huge and very quickly growing. Why ? Well, in a single arch, it handles all PCI PowerMacs (with new hardware coming out of Apple every 6 monthes), CHRP boxes (including some RS6k IBM machines), PReP boxes, APUS, NuBus PowerMac is coming in, Gemini, and I'm forgetting some...

    Add to that the embedded hardware (8xx CPUs, 4xx CPUs coming in soon) with the zillion of hardware variations.

    So it's _huge_, it's quickly moving forward (remember USB, we needed to get that working for kbd and mouse on iMacs while most x86 boxes didn't even had Windoze drivers for their USB controller), and the necessary consequence is that patches are huge. Fortunately, most of them just touch arch/ppc, include/asm-ppc or PPC specific drivers.

    But I'm not telling you all here ;) The truth is that we are in fact paid by Microsoft to write crappy code, flood Linus with huge and unmergeable patches in the clear intend to cause a Linux fork !

    Ben.

  6. No big deal by artdodge · · Score: 5

    I hate to be an old.fart.kernel.hacker and rain on your parade, but there is no news here. Stuff like this has been going on since 1995, at least, with all of the non-ia32 ports. It's a pretty simple problem - Linux supports a lot of platforms, and platform developers don't usually synchronize well with Linus's attempts at keeping some sort of release schedule for the "core" kernel. Linus himself worked on the initial AXP port, and it wasn't long before it fell off the "core" radar and had a separate team with independent patches feeding it. It wasn't a fork, it was just a concession to practical limits on Linus's time and energy.

    IIRC, Linus' usual behavior with platforms he doesn't frequently use is to let the primary maintainers feed him big merges periodically... he basically lets them run their own "development" cycles (the "odd" cycles for the core kernel) and merge "stable points".

    Since we're now in 2.4.small# mode, Linus is going to be extremely anal retentive about what he accepts, at least until 2.5 launches. I don't know the nature of the stuff the PPC people may be trying to feed him right now, but odds are unless it's either a critical bugfix or an "independent merge" that's been long planned for (f.e. reiserfs), it'll be rejected. When we get into later 2.4.X's, the policy will probably become more liberal.

    The rule has always been (ever since the Alpha and M68k ports) that if you run on an alternative platform and follow the latest greatest developments for that platform, track with its maintainers kernels, not with the "mainstream". If you want to follow latest-greatest core stuff, either use ia32 or use a known-good arch bundle and cross-port any necessary changes from your arch maintainer's tree.

  7. calm down... by Phexro · · Score: 5

    from what i have heard (from linux-kernel) linus doesn't like to get huge patches. he likes to get small patches that do one thing, since that's easier to review.

    the linppc folks have had a hard time accepting this. they want to send one huge patch to get the ppc architecture up-to-date.

    it's not a new problem. see this bit on kernel traffic, which covers some of it. there was another thread, where linus flamed people for sending huge patches, but i can't find it atm.
    --

  8. one sided? by sith · · Score: 5

    I think we may be missing part of the story here... we did not get an explanation of how linus is justifying rejections and such. Anybody have more info?

  9. Architecture Merges by Alan+Cox · · Score: 5

    The first priority for 2.4.x has to be to get it rock solid for the majority of users (and unfortunately for most definitions that means x86). Linus has also been avoiding making vast numbers of changes in one go while working on the really hard to debug and critical fixes to the core code. In the meantime I've been merging chunks of architecture code into the -ac tree ready to go as I get them.

    A good solid well maintained self sufficient ppc tree is one of the reasons we can do that of course

  10. Re:The Kernel Forked Long Ago by runswithd6s · · Score: 5
    Every major distribution has it's own kernel tree - no major distribution has ever shipped one of Linus's kernels.

    Incorrect. Debian ships with the original Linus kernel tarball. There are some kernels that you can install with various patches applied, but everything is available as a *.deb or a *.[dsc,diff,orig.tar.gz].

    In addition, Debian does not commit a Red Hat-ism and package such awful software renames like kgcc. Why not call it what it is, gcc-2.7.2. I mean, come on. Pull the wool over the lusers eyes, don't ya. "Yeah. Red Hat has a special compiler for the Kernel..." Whatever.

    Another nice thing about Debian's kernel packaging is that the very tools the developers use are available to the average user.

    • bash$ apt-get install kernel-package
    • bash$ cd /usr/src/linux
    • bash$ make-kpkg --revision="myversion.1.1" --rootcmd fakeroot binary
    • bash$ cd ..;dpkg --install kernel-image_-myversion.1.1_.deb

    --

    --
    assert(expired(knowledge)); /* core dump */
  11. Yes, that's right by OlympicSponsor · · Score: 5

    Anyone who's ever read the linux-kernel mailing list knows how vindictive and political Linus is. There's nothing he loves more than excluding platforms from HIS kernel (he's very protective of it, he only let's a couple of people submit changes, and even then only if they pay him a royalty).

    Also, this problem just came out of the blue. It certainly was never discussed (and re-discussed and re-discussed ad nauseum) over the ISDN patches.

    Get a grip people.
    --

    --
    Non-meta-modded "Overrated" mods are killing Slashdot
    (Hey Ryan! Here's your proof!)