Slashdot Log In
What Happens To -AC (And Other) Kernel Mods?
from the cyfrifiadurol dept.
Note: Here's what Alan passed on in response to this question. As usual, things aren't quite as simple as they first appear. -T.
Alan Cox: Probably the first thing to explain is the Red Hat kernel. That actually isn't something I am responsible for. Arjan van de Ven is the keeper of the distribution kernel, and has the unenviable task of getting a kernel together that will actually pass all the brutal QA testing. Arjan is perfectly entitled to (and sometimes does) throw out bits of -ac changes.
You'll see Red Hat patches being merged into -ac and Linus trees when appropriate, often from Arjan or Pete Zaitcev. Many of the other patches in the RH tree are considered "fixups" - they are workarounds for problems but not generalised or clean enough to feed into the main tree without further work. Others are RH specific patches for things like packaging.
With the -ac tree I try and do rapid rolling releases, sucking in new code to test it and also its interactions with other new code. By doing releases every few days I get a high number of people testing and reporting bugs before there are too many possible causes. This is how Linus trees used to work long ago, and I still think its the better technique.
At regular intervals I take stuff from the -ac tree and feed it to Linus. Sometimes Linus doesn't want to take other changes in case they confuse other things being done, sometimes they just vanish and fairly often they get applied.
I'm actually limited in the rate I can forward patches because I need to feed Linus blocks that are debuggable. Thus I don't want to feed Linus both file system and disk driver changes at once or I won't know which to blame if there are corruption reports.
I also don't feed Linus code that has active maintainers unless the maintainer has asked me to do so. Thus the USB diverges quite a lot because Johannes Erdfelt has chosen not to feed chunks of the USB and input changes on. Similarly, the user-mode-linux port in -ac has not been fed on to Linus because Jeff Dike wishes to improve it further before submitting it.
I have been concentrating on getting the driver code and some architectures synchronized with Linus, and that is now mostly done. The next big challenge is getting all the file system work on to Linus, and Al Viro has begun that and fed Linus the first blocks of the superblock handling cleanup.
Finally we have changes that are down to fundamental disagreements, perhaps in part stemming from the fact my background is real production systems rather than OS design work. Linus decided to update the 3D support without keeping back compatibility - I kept both. Linus I suspect will never accept a patch to do that. Secondly he decided that he didn't wish to allocate new device major numbers but look for a saner solution over time. Laudible, but not in the middle of a stable release. The -ac tree has drivers allocated "non-Linus" major numbers that are recognized by LANANA and thus common across vendors. These drivers like the HPT370 and Promise IDE raid will thus always be part of the -ac tree only.
The -ac tree also tries hard to avoid any incompatibilities. Having applications that require -ac or Linus trees is simply not an acceptable situation. The only specific exception for that right now for 2.4.x is deep at the system level and is for quota tools. That one was unavoidable to get 32bit uid quota working.
Post-Mortem debugging of multithreaded processes (Score:5, Interesting)
Considering that Solaris has had this (what seems to be BASIC) functionality for years, why do we see the continued insistence on keeping this functionality out of the production kernel? Are we waiting for the gdb team to catch up?
Until this is fixed, multithreaded programming under Linux will remain a black art - only developers willing to apply hordes of -ac patches to a homegrown development kernel have a change of successfully developing a multi-threaded application under Linux. Considering that many commercial software development packages (RogueWave, for instance) won't even support you if you're not using a RedHat released kernel, this puts multi-threaded development "out-of-bounds" for many.
Merge the -ac kernel mods!
Re:Post-Mortem debugging of multithreaded processe (Score:5, Informative)
In the mean time, if you're desperate, I can give you a patch that provides this capability to any Linus tree.
I had no idea so much still needed work (Score:1, Insightful)
Yeah but (Score:1)
When is the MAX_MAP_COUNT fix going to make it into the mainstream kernel?
Re:Yeah but (Score:5, Interesting)
Wait a minute (Score:2)
Perhaps he meant the unstable series Linus releases. I sure as hell would NOT like to see a new "stable" kernel release every few days. The current faux-schedule of a new release every couple of weeks seems a bit too quick for decent testing to me, to tell you the truth.
Re:Wait a minute (Score:4, Informative)
You test continually, you test each changeset, and then every so often you run a several day shakedown test.
You are right that you can't QA a kernel to vendor production grade in two weeks. Some of the RH test runs take several days per run for example.
Alan misunderstood the question (Score:1)
from the cyfrifiadurol dept... (Score:4, Informative)
And before anyone says it, yes, computers have reached Wales now...
Ask Slashdot (Score:1, Offtopic)
How about getting XFS in -ac? (Score:1)
I can appreciate the problem (Score:4, Interesting)
That's one of the reasons I started that project, in the first place. Because it's mind-numbingly tedious to massage patches from different groups together. If you can get the whole thing in one gigantic gloopy splodge, life would be much easier.
Unfortunately, I've discovered a number of things along the way:
That's not to say that FOLK is a disaster. Quite the opposite! I'm learning a huge amount about the Linux kernel, for a start, and the sheer complexity of juggling hundreds of patches is really giving my C coding skills a workout and a half!
My hat is off to Alan Cox who not only manages his patch set with far more grace than I ever could, but actually keeps it so that it runs!
I know the Royal Web Admin uses Linux (cos that was on an interview, some time ago), so if he's reading & has any influence, I honestly think Sir Cox would not be an undeserved title for his amazing computing skills and his contribution to both computing and Britain.
Promise IDE RAID (Score:2)
Don't Feed the Linus (Score:2, Funny)
I also don't feed Linus code that has active maintainers unless the maintainer has asked me to do so.
So Linus eats code. Everything is so clear now...
Ahem. (Score:1)
"At regular intervals I take stuff from the -ac tree and feed it to Linus."
Take that out of context and think about it.
Why aren't you guys using CVS? (Score:1)
What is holding AC and Linus (aside from having to learn how to use CVS)?
-AC (Score:1)
OMG!!!! (Score:1)
All my confidence in Linux is lost forever (Score:4, Funny)
What Happens To -AC (And Other) Kernel Mods?
I'm sorry, but if the kernel has a bunch of modifications done by people who find it necessary to be referred to as the initials for Anonymous Coward then how can we trust the security of the kernel?
They get modded down on /. but then get merged into the kernel source? Let's make a stand and stick to it!
Oh, and I copied these comments to a text file so I can repost it in the event that /. pukes up it's guts again.
AC patches: who needs 'em? (Score:1)
Nate
(I'm sorry; I had to do it....)
The BSDs solved this long ago (Score:1)
ac tree... (Score:1)
Athlon CPU support should (EXPERIMENTAL) (Score:1)
-stable vs -current ? (Score:1)
Instead of having only one tree, there are two: the -stable and the -current. -current is the tree with the newest features and active development going on, the tree which might, or might not, compile, the tree which might, or might not, break your system. The -stable tree is the tree in which everything works, which has no real new active development (all development is done in -current), only merges from the -current track are coming back into it.
For more information, see http://www.freebsd.org/doc/en_US.ISO8859-1/books/
you can do WHAT?!?! (Score:1)
Alan's Kernel is becoming more "official" (Score:2, Interesting)
This is very interesting:l /0108.2/0416.html [indiana.edu]
http://www.uwsg.indiana.edu/hypermail/linux/kerne
It seems Alan Cox is considering his -ac kernel tree to be a legitimate alternative to the official "Linus" tree, rather than a playground for testing patches. He's actually perpetuating a difference between -ac and the official tree, in a way that breaks source compatibility between the two (albeit in a very small way.) The fact that RedHat's kernels are all based on -ac now bears this out.
Alan has forked the Linux kernel.
::meyhem::
I think he has Linus' blessing in this though. Reading between the lines, I think Alan has been taking on more and more work in the past year or so that had previously been Linus'. Linux is ten years old now; I suppose Linus is burning out.
And Alan works for RedHat too, which is one of the two distributions that I *know* will be around in ten more years -- they have a solid business plan. Alan is voracious, just tireless, and RedHat would hire the entire core kernel development team if they had to. Linux will not die for lack of a maintainer if Linus gets hit by a bus tomorrow.
(OT)Slashdot does not censor. (Score:1)
There's a big double yellow line with orange traffic cones between improving signal-to-noise and censorship. Slashdot is slalom-skating it.
Ever since CmdrTaco and friends created the moderation system, Slashdot has intentionally deleted exactly one comment, and it was a flagrant copyright infringement [slashdot.org]. If you browse Slashdot at -1, you'll see everything.
Re:Something I'd like to see... (Score:1)
Re:Don't be a playa hata (Score:1)
Re:Random Crap (Score:1)
Thank you for you assistance in my (not so) scientific experiment.
Re: The Truth About CmdrTaco, VA, and Microsoft (Score:1)