Slashdot Mirror


Linus And Alan Settle On A New VM System

stylewagon writes: "ZDNet are reporting that Linus Torvalds and Alan Cox have finally agreed on which Virtual Memory manager to include in future kernel releases. Both have agreed to use the newer VM, written by Andrea Arcangeli, from kernel version 2.4.10 onwards. Read more in the article."

36 of 167 comments (clear)

  1. sensation seekers by selmer · · Score: 5, Informative
    There never really was a big dispute about the VM subsystem, read alan's diary for an account of what happened in his opinion.

    I cite November 2nd: The great VM dispute really isn't. It went something along the lines of "Putting a new vm in 2.4.10 is crzy", "Probably it was but its done so lets make it work" and at 2.4.14pre8 "See it works" "Yep".

    1. Re:sensation seekers by hconnellan · · Score: 3, Offtopic

      Read about the big news on 5/6 Nov. Alan is installing windows. Alan's diary

    2. Re:sensation seekers by Gleef · · Score: 4, Funny

      And people say it's easy to install windows. Two days and there's still more work to do.

      --

      ----
      Open mind, insert foot.
  2. NUMA?! by ssimpson · · Score: 5, Informative

    It's previously been argued that Andrea's VM doesn't work with NUMA architectures, hence work should continue on Rik's 2.4.x design

    Not a problem now, but it's one of the major aims of 2.5, according to Linus. Anyone know how they are going to square this circle?

    --
    "Mary had a crypto key, she kept it in escrow, and everything that Mary said, the Feds were sure to know."
    1. Re:NUMA?! by Prop · · Score: 4, Insightful

      I have to ask ... shouldn't a NUMA-efficient VM be left as a patch, or thru a kernel fork ? I mean, how many people have access to NUMA machines, let alone own one ?

      The VM in the mainstream kernel should be optimized for what Linux runs on 99% of the time : single CPU, with a "standard" memory bus.

      With that being said, I couldn't believe that Linus made such a major change in a stable kernel. I'm glad it works, and that Alan Cox has agreed to go with it, but it wasn't an example of software engineering at its finest...

    2. Re:NUMA?! by Alan+Cox · · Score: 4, Informative

      Getting NUMA to work well with Andrea/Marcelo's VM might be more interesting. On the other hand Martin and the other IBM folks don't seem duly perturbed on list so I'm not that worried

  3. More information is available: by ssimpson · · Score: 3, Offtopic

    At eWeek.

    --
    "Mary had a crypto key, she kept it in escrow, and everything that Mary said, the Feds were sure to know."
  4. This article is a joke... by Juju · · Score: 3, Offtopic

    It claims that SuSE is a US company (funny how I could have sworn it was German ;o)
    It also says that Alan Cox will take over 2.4 once 2. 5 is opened which is wrong...

    The whole war story is totally ridiculous. There has never been a talk about a fork. All there was were discussions of whether a new VM should be brought in 2.4 instead of 2.5, and some talk about the validity of benchmarks showing the improvements with the new VM.

    I guess there is not much going on in the news for them to feel like writing about this...
    Besides, this is nothing new since Alan Cox sayed that his last ac patch would probably be the last one with the old VM.

    --
    Black holes occur when God divides by zero.
    1. Re:This article is a joke... by Syberghost · · Score: 4, Informative

      It also says that Alan Cox will take over 2.4 once 2. 5 is opened which is wrong...

      Just in case somebody doesn't believe you, here's the proof.

    2. Re:This article is a joke... by dangermouse · · Score: 3, Informative
      It claims that SuSE is a US company (funny how I could have sworn it was German ;o)

      Just for the record (I've pointed this out elsewhere), SuSE Inc. is a U.S. company... SuSE has done the general equivalent of incorporating in several countries, including the U.S. SuSE Inc. is, in fact, in Oakland as the article reports.

      Of course, it might not be SuSE's U.S. corporation that's involved here, but that's a completely different possible source of inaccuracy. ;)

  5. In related news... by Oshuma.Shiroki · · Score: 5, Funny

    Linus Torvalds and Alan Cox have finally agreed...

    In related news, pigs are now flying all over town, and hell just froze over.
    </sarcasm>

  6. Was there really any "dispute"? by sphealey · · Score: 3, Insightful

    Was there really any dispute between ac and Linus, or was it just a technical competition to see which system could be pushed the farthest?

    I thought the eWeek article took an unnecessarily confrontational tone.

    sPh

  7. Minor point by Anders · · Score: 5, Informative

    From the article: Torvalds is close to handing over the stable 2.4 kernel to Cox.

    ...and I thought that Marcelo Tosatti was going to maintain 2.4.

  8. the way i heard it was resolved was... by motherhead · · Score: 4, Offtopic

    Linus and Alan had their wrists taped together and sort of danced/knife fought while eddy van halen played guitar in the background...

    oh wait that was a michael jackson video... sorry... though still this might be as accurate as anything else...

  9. Summary as I see it... by Duncan+Cragg · · Score: 5, Insightful

    1. Everyone knew the Rik VM was poor
    2. Linus was stressed about it and took a brave decision to go with Andrea's VM
    3. It was VERY late to be doing this, but necessary.
    4. Linus' decision was correct as it turns out.
    5. Alan's decision was also correct in that you shouldn't be doing this kind of dramatic about-face in a 'stable' kernel.
    6. Alan's going with Andrea was also correct.
    7. I've been waiting, along with many others, for this whole mess to be sorted before 2.5 was started and I upgraded kernels.
    8. Passing 2.4 over to Alan means we can upgrade in confidence. This should be the test of stability for 2.6: upgrade when Linus passes it on to Alan.

    1. Re:Summary as I see it... by hey! · · Score: 4, Interesting

      1. Everyone knew the Rik VM was poor


      Even that may be a bit strong. I'd say more that it was late than poor. I'm running a recent ac kernel on one of my production servers (long story, but suffice to say that I needed a bunch of things and this turned out to be the simplest way). I was initially concerned about the Rik VM, but so far it has worked fine. Of course this is anecdotal, but I almost certainly would have had serious problems if I had installed one of the earlier 2.4 kernels, which shows progress.

      Rik is right that you make things right before you make them fast; on the other hand the VM really needs to be right AND fast to be truly ready for prime time (and early releases in the 2.4.x series weren't all that "right" to begin with). The Rik VM is supposedly more advanced and featureful, but it may have simply been a bridge too far, at least given the time and resources he had to prove his ideas.

      I feel sorry for Rik, but thems the breaks. He may have been right but you don't get forever to prove your ideas. At some point the clock runs out on you, even if you are really close to pulling it off.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    2. Re:Summary as I see it... by 4of12 · · Score: 3, Insightful

      but it may have simply been a bridge too far

      I think so. I always got the impression that Rik is an extremely intelligent programmer with not enough time on his hands to do the enormous job of VM writer for all of Linux.

      Which was important, because it seemed, too, like he was one of a handful of people in the world that really understood how his VM system worked and, more importantly, was the ONLY one in the world that understood what needed to be done to it get it to work right.

      --
      "Provided by the management for your protection."
  10. The Days of Our Kernel by rnd() · · Score: 5, Funny
    Posting dramatic stories about the heated debate among supergeeks in the Kernel newsgroups is a brilliant propaganda tool.


    What better way to insure the longevity of Linux than to recruit new Kernel Hackers with tales of heated debate and intrigue (I've noticed two in the last week).


    What's next, the KernelCam? Tune in to watch Linux, Alan, and the rest hacking away. View live feed of USENET postings! Only $3.99 per minute.

    --

    Amazing magic tricks

  11. Strength of our style of development by gaj · · Score: 5, Insightful
    This just further illustrates the strength of an open development process. There was a problem, and that fact was discussed openly and pointedly. That scares many people. I don't get why. It's code, not a person. It doesn't look like Rik is taking it very hard, at least as far as his posting on lkml shows.

    I like to think of Linux development as sort of a modified IETF style: rough consensus and running code, with a sprinkle of holy penguin pee when Linus thinks it's ready to ship. Linus saw a problem, had a solution presented to him, and just went for it. Alan thought it was a bit insane to switch horses in midstream. I would normally agree with Alan; better to try to get the horse you're on to do the job than try to jump to another one. Worry about getting a newer, better horse once you're safely on the other bank.

    Given the time frame for 2.5/2.6, though, and given the seriousness of the VM issues, I can see why Linus decided to take the risk. Apparently so does Alan. I'm kindof anal about release numbers, so I'd probably have started a 2.5 branch to test the new VM in, and refused any other changes, then released 2.6 with the new VM. That fundamental a change should probably get a point increase in version number.

    Regardless, the short version is that this is much to do about nothing. The rest of the industry just isn't used to seeing this sort of thing happen in plain view. It normally happens behind the scenes, with a carefully scripted spin put on it by marketing. Maybe if they see the process work enough times people will become comfortable with it. I doubt it.

  12. Details please by lythari · · Score: 4, Interesting

    how does this new VM manager compare to the old one? I assume it's better, but exactly how does it improve over the old one.

    And how does it compare to VM manager in other 'nixs out there, especially FreeBSD.

    1. Re:Details please by Anonymous Coward · · Score: 3, Informative

      They both had stability problems at 2.4.10. Both are fairly stable at this point.

      Rik's VM is considerred "smarter." It works harder to balance things out and keeps track of all kinds of info.

      Andrea's is not very well documented.

      Andrea's is simpler.

      Andrea's uses "class zones" which are not good for NUMA. We want to have NUMA in 2.5.

      Andrea's is faster.

      Linus is considerred the leader and Alan Cox is considerred the second in command. If it's a really tough call to make then probably going with Linus is the less contraversial thing to do.

      When Linus switched VM's we had gone through 10 point releases of the kernel and the VM still wasn't as stable as it should have been. If Andrea's VM took 10 releases to become stable then that would have sucked. A lot of people pointed this out to Linus in a blunt way. People thought it might take nearly that long but it only took 4.

      So it worked out in the end.

  13. ZDnet is not the ACM by Kefaa · · Score: 5, Insightful

    We seem to take things too personally here. Alan and Linus had a disagreement about when and why. Much like people I work with on a daily basis have differences of opinion on approach. In the end we do not start working for other companies, we reach an agreement.

    ZDnet is not the ACM; they are trying to sell magazines (or at least sponsors). A little conflict spices up the story. Should they put a more reasonable context around these things? Sure. However, if they did : "Linus and Alan agree on future" is hardly news worthy.

    The more people hear about LINUX the better. (positive spin coming...)

    In this context people can believe we know how to operate as open source and an effective business model. The need to evaluate, compare and when necessary compromise can be accomplished in this model for the benefit of everyone. People who appreciate that the people we want to be making business decisions for Linux.

  14. Open Source vs Corporations by darkov · · Score: 5, Insightful

    I think it's unfair to characterise robust debate as fracturing or a lack of unity in the Linux comunity. Isn't it normal for people to disagree on things? It may look like disunity to your average joe, but the fact is that corporations very carefully control what the media knows and what discussions go on behind closed doors. I'm sure everyday people in companies all over the world not only argue till they are blue in the face, but also undermine each other's authority, turn coworkers against their opponent and other nasty political bullshit.

    Open software has an open process. That is a strength. Suggesting that just because there is disagreement in the Linux community means that it is less co-operative or cohesive than Microsoft or anyone else is utter crap. Open debate and having your own opinions are healthy signs, much better than some coerced worker toeing the company line, idependent of what is technically best.

  15. one heck of a daily commute: by Bazman · · Score: 4, Offtopic

    "Cox, who also works for Red Hat, in Durham, N.C., and lives in Swansea, Wales."

  16. Trusted Source (meta-topic, not off-topic I hope) by MeerCat · · Score: 5, Insightful

    ... honestly not meant to be a troll, but does anyone else find it strange that slashdot is reporting a ZDnet story about news re:the Linux kernel development ??

    Have I missed something here ? I used to work in fraud investigation and there we have a dual scale of trusting information

    - how trustworthy is this source ?
    - how trustworthy is this source with regards to this type of information ?

    (e.g. The Queen as a news source is considered trustworthy, but if The Queen told me the local 7-11 was going to be robbed at 11:30 tonight then I'd doubt the information).

    Maybe that Jesse bloke really does know what he's talking about...

    T

    --
    I spent a lot of money on booze, birds and fast cars. The rest I just squandered. - George Best
  17. Yeah! by Greyfox · · Score: 5, Funny
    In a company, you can't just come out and call your manager or a member of your programming team an idiot. That tends to get you fired, usually. Even if they really are an idiot (Generally, or about one decision in particular.) In the open model, you call someone an idiot and the community decides who the idiot is.

    I haven't been following this thing closely but my impression from this forum was it went something like this:

    Alan: You're an idiot!
    Linus: You're an idiot!
    Alan: Fine! I'll take my kernel and go home!
    Linus: Fine! I'll get someone else to do the kernel!
    Later...
    Alan: Linus, you bitch! Have you been seeing another kernel developer on the side?
    Linus: Yes, but I was a fool! I love you! I've always loved you!
    Alan: And I love you!
    Linus: You're not an idiot!
    Alan: Oh, Linus! (Kiss kiss kiss)
    Linus: Oh Alan! (Kiss kiss kiss)
    Linus: Oh! Alan!

    Hmm. Maybe I've been reading too many romance novels lately...

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  18. Re:So what? by stilwebm · · Score: 4, Informative

    For one, the new VM is less likely to begin killing processes or swapping randomly. Also, the new VM works in a more simple (relatively speaking) way that uses about 1/2 the swap space as the previous 2.4 VM. Like the VM system in 2.2.x kernels, having 128MB of RAM and a 128MB swap file will result in about 256MB of virtual memory available to the system. In the previous 2.4.x VM system, a computer with 128MB of RAM needed 256MB of swap space to effectively use 256MB of virtual memory.

  19. RHe is by wiredog · · Score: 5, Funny

    This article is from yesterday. Today they are reporting that Cox Won't Be Maintainer of 2.4 Linux Kernel

  20. Rik van Riel on the Future of VM Work by rmadmin · · Score: 4, Informative

    I ran across an archive at OSDN.com that had a video from the 2.5 Kernel Summit (March 30th and 31st 2001). On the list of videos is 'Future VM Work presented by Rik Van Riel. Its a 1 Hour 4 Minute Video clip, but after listening to it for 5 minutes I knew it was WAY too technical for me. =P Anyways, if you want to see what he said about improving VM, head over to:

    http://www.osdn.com/conferences/kernel

    They have Real format in both 56K and 128K streams, Mpeg, and Mp3 of his speach. Looks interesting if you've got the bandwidth and the time.

  21. virtual memory by Lethyos · · Score: 5, Informative

    In brief and ONLY the basics... Modern operating systems today handle memory addressing in a virtual sense so that "fences" can be placed around memory owned by the OS and different applications. These fences serve to protect memory from being overwritten by other rouge programs. This works by making each program think that it's start of memory IS the actual start of physical memory. For example. Program "foobar" may be located at memory address 0xFF44 bytes, and have 0xFF bytes allocated to it. Instead of addressing its memory in the base:offset format as 0xFF44:0xFF, it thinks that 0xFF44 is actually address 0x00 and the top of memory is 0xFF. That way, it can't write to physical addresses at 0xFF43 or anything else lower. This range of memory can be broken into fragments and scattered through memory so that if other programs have been allocated since foobar started, it's not trapped.

    Bear in mind, this is only the basic gist of what virtual memory is all about. This particlar subsystem will also handle memory paging (which is part of swapping out to disk), amongst other tasks.

    Before you really get determined to start hacking the kernel tomorrow, I suggest you start with something a little more meager. You need to get some experience in computer arcitecture fundamentals, then really basic OS design. Read a few books. Learn Motorola or IA32 Assembly language. Learn to write some old DOS programs (a number of DOS emulators with free, open source DOS distros are available, so some searching) where you have to allocate every byte and word by hand, and not just say "Foo *f; f=new Foo();". Next, start to learn C and figure out what malloc() is all about. Then try coding a kernel module. This is obviously not an extensive road map, but computers and their operating systems are sophisticated. You can't really (unless you're someone like Cox or Torvalds) just dive right into systems programming and know what you're doing. It may take years of experience before you start to tinker with code in the kernel and actually write something that works.

    --
    Why bother.
    1. Re:virtual memory by hawk · · Score: 3, Funny
      >These fences serve to protect memory from being overwritten by other
      >rouge programs.


      Yeah. I just *hate* it when my programs end up with makeup on them . . .


      :)


      hawk

  22. My biggest problem with Linux was the old VM. by TurboRoot · · Score: 5, Informative

    We run on alot of small systems, we are talking 8-16 megs of ram here and pentium 75ish processors. We tried to use linux once, but when linux runs out of memory with the old VM, it sucked HARD. I mean, I had processes being swaped out of memory compleatly that were ACTIVE!

    Why do we use such small systems? Because we want them to perform under extream load when placed on larger systems. Its smart really, its easy to benchmark a few functions on a pentium 75, than a 2 ghz pentium. If your application doesn't run peppy with one usuer on a pentirum 75, it sure as hell won't support 1000 users on 2 ghz pentium.

    Thats why we have used FreeBSD for all this time, in FreeBSD the VM manager is perfect, and isnt' even slated for upgrade in the near future due to the fact it works like it should. If you are using telnet on a FreeBSD machine, and _one_ applications uses a ton of resources, that one application will run slow. But your telnet will continue on fine. Try putting 12 megs of RAM in your machine, than compiling PostgreSQL while using a telnet session. You won't even notice the compile on FreeBSD, but you will with Linux.

    Funny enough, this also ties into the article earlier regarding why Linux isn't used for alot of large scale databases. Databases consume HUGE amounts of RAM and the OS under it has to be peppy about it. Linux in the past has been tuned for desktop/single user performance and not what those databases need. They need TONS of resources, and quick _CONSISTANT_ access to it.

    That said, I am very happy to see them getting a better VM. Because my biggest problem with FreeBSD is its crappy java support, the most recent stable JDK it supports is 1.2.2. And thats in Linux emulation mode!

    So if things work out, and Linux supports java well, and doesn' crap out when it runs out of resources. We will defiently switch to Linux, and life will be good!

  23. Between a rock and a hard place by renehollan · · Score: 3, Informative
    Oh, it is SOOO tempting to patch what you know, rather than start over with something new, and relatively untested, espescially when deadlines loom.

    Of course, this might not fix the problem: either the patch doesn't fix enough, or the design is flawed to start with (I have not delved into either Linux VM to competently present an opinion here, just speculation on what might be wrong). But there is something to be said for "the devil you know". At least the problems with the old VM were fairly well known. Moving to a new VM could potentially introduce new ones. Not something you want to do close to release.

    Now, those plagued by problems with the older VM might, in exasperation, think anything would be better. Enter Linus with Andrea's alternative: "looks good, ship it!" [my paraphrasing]. Those of us who'd tremble at the thought of new, untested code, could, well, stick to an older kernel, even if it meant giving up some new features.

    But wait! It's Alan to the rescue!! Picking up all the relatively easy fixes and enhancements, and giving me a choice. Leave the contentious parts till later..

    It strikes me that the minor, temporary -ac fork served both camps of users until the issues were resolved.

    Some might argue for a more disciplined approach, and not make major changes so close to release. (But, if it isn't "ready", why not just postpone release? Is Linus feeling pressure to release prematurely? Or just trying to release "often enough".) But that stands in the way of progress -- I've seen managers crippled by fear of changing anything. Sometimes you gotta take a chance, even if some things break while (many) others get fixed.

    While smaller, digestable kernel changes might be more palatable, they're already available in interim development releases. Sometimes a change is sufficiently profound that it touches everything (yes, that's an argument to refactor, but hindsight is 20/20, so I won't argue that point too much) and takes a while.

    I am not one to say which approach is globally better -- I can only comment on what works better for me. I can say, though, that when a community is really split over a course of action, and any single choice will not satisfy a large number of people, a fork, even if temporary, is probably the least painful route in the short term, even as the long term consequences are undesirable if it goes on too long.

    After all, all progress is a mini-fork from "stable" to "untested".

    --
    You could've hired me.
  24. The AA VM "beats the pants off" Rik's VM??? by TopherC · · Score: 3, Interesting
    "I took the older VM plus fixes Rik felt would solve all the problems. Linus took Andrea's work. Right now, as of 2.4.14pre, Andrea's VM seems to be beating the pants off Rik's VM. All the current numbers suggest it's the better path."

    Hey, I thought slashdot cited a comparison of the (fixed) Rik VM and the AA VM, and came to the conclusion that they performed about the same! They were both MUCH better than the 2.2 (old Rik) VM. What's Alan's evidence that the AA VM is "beating the pants off Rik'v VM?" If they really do perform about the same, I would have to side with Alan's original decision to just patch the old VM.

  25. Re:Media perception of Linux by Glytch · · Score: 3, Funny

    Don't you get it? Kernel development is like an old Flash Gordon serial. Team Linux has to race to save the universe every week from evil. They literally do save us from doomsday all the time.

  26. 2 Kernels?!?! Pluh--eeeezzzee by TheLostOne · · Score: 3, Insightful

    Really.. why is everybody getting their panties all in a bunch here? Two kernels? My big toe! Making Linux look fragmented?! WHAT?!

    No I'm not a moron.. heh.. well maybe.. but I have two points..

    1- There are not '2 kernels'.. this is crap.. there is ONE linux kernel (currently at 2.4.14.. which is development anyway.. but thats for another post ;) and a couple of different development kernels that most 'normal users' (ie not kernel hackers) will never touch. I think we can agree that those adventurous users who dwelve into pre and ac patches at least know enough to know they are called pre/ac for a reason. And yes.. I know there were 2 kinds of kernels.. at a sort of esoteric level but when we say 'the Linux Kernel' in the context of a normal running system doesn't that rather imply the stable branch of it? How many distros ship with ac? In the default... not in 'super expert mode'? Too many distros to say none.. but I've never seen one..

    2- How is this going to ever possibly give the impression that linux is too fragmented compared to anything?! I figure (and I know this is a grevious over simplification) that there are basically two kinds of users.. those who know and those who don't. Those who know (IBM, Compaq.. those companies we want so bad) will know enough about the story to realize this is a disagreement in timing if anything and no big deal... Those who don't haven't heard about this anyway.

    So other than the kernel developers needing to run both.. what's the problem?

    --


    '..that kernel panicked like a nun in a crack house!'