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."
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".
Though I do not think that Linux would have been doomed just because there were two different versions of the kernel out there it would have been probably more difficult for Linux.
So that's good news. J.
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."
At eWeek.
"Mary had a crypto key, she kept it in escrow, and everything that Mary said, the Feds were sure to know."
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.
Linus Torvalds and Alan Cox have finally agreed...
In related news, pigs are now flying all over town, and hell just froze over.
</sarcasm>
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
I was talking to a friend yesterday about this very issue. I'm glad to see it resolved. To the outside world, Linux already looks fragmented compared to windows (many different distributions of linux compared to one Microsoft). This may not be a correct assumption, but having two different kernels did not help the situation at all.
Now, finally, we can say again : "There is one linux kernel, there are many different distributions. The kernel is the same and the different distributions differ only in programs and scripts".
Linux isn't ready for the desktop? Ohhhh crap....do I have to erase it then?
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.
It seems these folks decided that using the whois database for the companies location was a good idea.
It turns out that the registration for suse.com does point to an office in CA. But if this moron would do some real research, he'd find out that they are infact in Germany. Of course all of us knew this.
Then again most reporters are morons..
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...
Regardless of what the article almost implied (that Cox and Linus were at dispute), this is good news for the kernel. From the sounds of it this new VM will make quite a difference from a performance aspect. I could almost care what people are fighting about. As long as new features get implimented, or the system is revamped to improve performance/stability, I'll be happy. And thats what the point is here... A new VM is going to be implimented, and its supposed to kick butt. So enjoy it and quit squabling about weather or not Cox and Linus are fighting!
Can all fish swim?
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.
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
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.
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.
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.
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.
Reliable, Great Value Hosting: $7.95/mo 2.4G/120G
Its so funny how everything that goes on in the Linux community that is reported on, even by "tech-sauvy" news orginizations, has to do with the doom and gloom of Linux. It seems that almost weekly Linux is narrowly "saved" from total destruction. I think the media wants people to believe that Linux is so unstable and that the smallest dissagreement will seperate the whole community and send it into complete chaos.
... I would just like to see a news article that didn't mention the "unknown future" of Linux
..."The accord also ends speculation that a fragmented Linux community would be doomed in the face of Windows."...
It seems that news about Linux is not intresting enough unless it is a struggle against Microsoft or has some doomesday issue that could cause it to "fall".
just an observation
"Cox, who also works for Red Hat, in Durham, N.C., and lives in Swansea, Wales."
Wow, I wanna get some of that time machine action!
Anyone care to give a short explanation on what this system is?
:)
I've always been interesting in kernel coding, but some of the concepts sound pretty black-magic for me
...and not before time. Perhaps Linus can make a firm decision by, say, 2.5.10 on what goes into 2.6 and what gets kept aside for 2.7? That way we might see 2.6 before the end of 2002. We can always hope.
It's important for a lot of this new stuff to get thoroughly used so that alternatives, replacements, options and enhancements can be devised at warp speed. It's also important to have an odd kernel series active so that imaginitive new stuff has a home and doesn't stagnate.
Got time? Spend some of it coding or testing
But, is this really soemthign that cna be defined as "settling." As I understand it (correct me if I'm wrong) Linus put the new VM into his kernel. Its been there ever since. And its not going away. Rather Cox is giving in the Linux, as he should, since Linus is in charge. This isnt settlement, its the natural course of development. A change is proposed, Linus oks it and impelments it. Everyone else follows suit sooner or later.
I understnad the potential horror of a kernel split, but does anyoner eally ebelieve that was going to happen? Im betting Cox would rather use a far inferior VM than allow a total split, simply because of the magnitude of suhc an action.
In Soviet Russia you dant have to put up with these crappy jokes
... 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
Shock as Alan Cox installs [new double glassed] Windows.
Phew that was close. NOT!!!
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?
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.
This article is from yesterday. Today they are reporting that Cox Won't Be Maintainer of 2.4 Linux Kernel
Best Slashdot Co
Can somebody explain the differences between the Andrea Arcangelis and FreeBSD VM desing ?.
I heard a lot of times that the *BSD desing is a lot better than the Linux, is this true ?.
Thanks for comments.
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.
Can all fish swim?
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.
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!
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.
This is perhaps the most beautiful description of the process I have ever heard.
I agree with you. People are used to dealing with a companies like MS, Apple, and Oracle, who are built from the ground up to never admit deficiency or the need for change even though that is a crucial aspect of any kind of upgrade cycle.
When a group of firebrands come around that can freely admit deficiency, it does cause some waves.
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
Has anybody else noticed that, since 2.4.10, the reported memory usage appears to be wrong? I noticed in the change logs that this was supposedly fixed in 2.4.13-pre1, but I still see the problem. Running "free" shows that I'm using up 245MB of RAM on the "-/+ buffers/cache" line (I'd paste it here, except Slashdot is rejecting the post due to "lameness filter encountered. *sigh*). Now I know I'm not using 245 MB of RAM (after subtracting out the buffers and cache), and I can prove it by running a program which allocates about 350MB of ram then frees it. When I do that, my memory usage, including swap, drops to about 70-80 MB. Is anybody else seeing this?
For every post, there is an equal and opposite re-post.
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.
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.
Really.. why is everybody getting their panties all in a bunch here? Two kernels? My big toe! Making Linux look fragmented?! WHAT?!
;) 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..
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
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!'
I agree, its certainly not flamebait, just not well informed. There are many forks of the linux kernel as others have already mentioned.
Buy more RAM, fools.
just for the sake of correctness:
SuSE is a wholly owned subsidiary of SuSE AG, Germany. Although its US web site doesn't explicitly state that it may be deduced from
http://www.suse.com/us/company/legal/index.html
...