What Happens To -AC (And Other) Kernel Mods?
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.
One thing that's been in the -ac kernels for quite some time is the ability to post-mortem debug multithreaded processes. That is, under the production kernel, when you core dump, all the threading information is lost. You can't get the call stack of each thread. With the -ac kernels you got one core file per pid, with each LWP (lightweight process) getting its' own core file.
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!
So much for being under the impression of a "stable" kernel tree. This really discourages me, and I'm glad all my production machines are using FreeBSD where I can keep track of the CVS-synchronized sources where we don't have competing kernels.
When is the MAX_MAP_COUNT fix going to make it into the mainstream kernel?
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.
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.
Interested in open source engine management for your Subaru?
Max OS X has this feature as well. If you set CRASHDEBUG=-YES- in /etc/hostconfig, you will get a dump of all thread stacks and the CPU(s) registers when a process bombs out. Very handy. I believe that HP-UX also has this feature. Surprising that Linux doesn't.
No, no, no. The question was, "What happens to AC posts about VALinux and Microsoft?"
Save the whales. Feed the hungry. Free the mallocs.
Linus dislikes multithreading, so why would he support it?
In case anyones wondering 'cyfrifiadurol' isn't a typo. It's Welsh roughly meaning 'to do with computers'.
And before anyone says it, yes, computers have reached Wales now...
Alan is a RedHat-er
Hey, I'm a Red Hater too! Debian R00L$ J3W!
WTF is going on with the front page?
Got Rhinos?
That their database is still Having Issues. We need a story on what's going on there.
Best Slashdot Co
Please?
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.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I didn't know the -ac trees had Promise IDE RAID support. I looked all over for a good solution for using that thing, after I carefully soldered on my resistor, only to find out that there was no good Linux support for the darned thing. Has anyone had any success using this thing in Linux (not using the closed-source drivers?) This is something I'd really like to see in a stable kernel.. does anybody know how to tell what -ac releases are stable, if any? **pounding head on cubicle wall** I suppose I can use software RAID if that's what it comes down to.
He gets modded down.
Don't do this on every god-damned story, and don't bother if you're at like 70th post, ok fuckwad?
Idiot.
At regular intervals I take stuff from the -ac tree and feed it to Linus.
...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...
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...
I got my Linux laptop at System76.
"At regular intervals I take stuff from the -ac tree and feed it to Linus."
Take that out of context and think about it.
I remember claims that Linus what "the CVS with brains", but when there are two trees (AC and Linus) it would seem that CVS is a must.
What is holding AC and Linus (aside from having to learn how to use CVS)?
In the mean time, if you're desperate, I can give you a patch that provides this capability to any Linus tree.
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale
Someone mod this parent up. Seems like a worthwhile patch.
there are no stupid questions, but there are a lot of inquisitive idiots
Without -AC it could get pretty -HOT
Don't Tread on Me
Slashdot researched a submission! Beware, the anti-christ may rise soon!
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.
You are damn right about it and so was the original poster. However, just like he mentioned in the parent (shame I cannot link from here), /. seems to be turning into the same thing they critiziced a few days ago: astroturfing. Let me tell you one thing: the credibility of this site is at serious risk unless Taco explains the original acusations.
where is the parent post for this?
looks like someone has been doing some cens0ring
The Slashdot Effect: A new for
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. If you browse Slashdot at -1, you'll see everything.
Will I retire or break 10K?
Nate
(I'm sorry; I had to do it....)
-- Watch the REAL Jon Katz.
Yay! ASCII goatse-man lives!
Yes, indeed it is having problems.... My journal entry was made about 24 hours ago. It was gone this morning so we've had maybe over a day of problems now.
Give us an update, CT!
Oh, and ignore the 'game client' link below -- if it is still there. Yesterday it pointed to my journal entry.
Geeky modern art T-shirts
or have the trolls uncovered an new 'sploit of the article numbering scheme? (like how they can get first post before the article hits the front page...)
/.
Actually, I had noticed one of my surly trolls "disapperaring" after first showing up. Whether intentional or not, it's damn suspicious.
Truly, these are interesting times for
Freeswan is an incredible piece of junk. After 1.5+ years of talking about it, klips2 is still going nowhere, and freeswan is still a bloated, hacked-together, syntactical and administrative nightmare. After a year, there's still no support for AES; obviously the developers think talking about klips2 for another 5 years is more important than providing an alternative to the incredibly slow 3des algorithm, which is the only one currently supported.
Not to mention the developers are a bunch of paranoids who refuse to accept contributions from anyone in the US or any US citizens for fear of retroactive encryption export regulations being re-imposed. The only activities I've seen from the developers, really, are occassional bug fixes, attendance of ipsec cookoffs, and general bickering on their mailing lists whenever someone complains that freeswan is going nowhere.
You know, the BSD's solved this long ago by allowing more open modification of the official kernels.
> "At regular intervals I take stuff from the -ac tree and feed it to Linus."
> Take that out of context and think about it.
Just because Alan Cox is east of the US doesn't mean he is a snake.
And why are all of you handing me my coat?
Geoff
I think I see a trend here. Maybe for them it really would be easier to muzzle the entire internet than to produce p
Where would on see this ac tree growing? err... I mean where can I find the code tree/patches?
At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
I never had as much trouble with the 2.4.5-9 kernels & support for the Athlon CPU. Talk about buggy. I finally had to switch to PIII as CPU before I had a stable kernel again.
make Linux, not Microsoft. sin(beast) = -0.809016994374947424102293417182819
this hasn't been moderated down yet because no one with mod points speaks sed. how appropriate.
Leading the partnership for a Slashdot-Free Slashdot, Son of Dog
Amen!
well said, my son, well said ..
'nuff said.
people dont understand how important the trolls are.. if it weren't for trolls I would have left slashdot long ago.. they are the only people who make me want to come back here daily... I'm sure at least 10% of the people who visit slashdot, and see the banners and click the banners and help slashdot pay the bills only come to troll or to view trolls. The day the trolls die is the day slashdot loses alot of it's community
The Slashdot Effect: A new for
What I read from the origional post:
'Why doesn't the "wild kernel" (read: the official one from Linus) not include the same patches as the RedHat kernel? It causes trouble when projects depend on these patches being included in the kernel and they aren't there!'
My answer:
Ummm...it is not Linus's fault that developers depend on unofficial kernel code that RH, in their infinite wisdom, has added to their kernel. RH is NOT the official kernel, Linus's is! Please let my know what projects these are so I can stear clear of them...
Noah (jik-)
Oh, I misinterpreted....the developers seem to be targeting the official kernel and not the RH one.
The problem is still not with Linus, it is with RedHat. If they must release the kernel modified they need to make it plain that this is the case so users don't get confused and toss a fit when a kernel patch doesn't apply...
Have a look on how FreeBSD does handle this:
h andbook/current-stable.html
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/
bash$
I am realy stoked at the 2.4.9 linux kernel release. On my system, originally LFS with kernel 2.4.3, the kernel always hung when I used my SCSI Kenwood TrueX 52X Ultra CDROM drive on my integrated AIC 7880 SCSI Host(built-in AHA2440 UltraWide). It'll detect my two Quantum Atlas harddrives and at the time it detects the CDROM it just says it found CDROM sr0 and it gets a bus timeout of some kind. Linux kernel 2.0.35 or rather the 2.0 series of kernels amazingly have no problem with detecting my system configuration. The 2.2 kernel and the early 2.4 kernel has problems with it. Might I add this is only a problem with the Adaptect aic 788x driver/module. Other SCSI controllers worked find with this drive and now I can put everything back on the integrated scsi and get back my PCI clot. Sad to say, I relented to installing MS Windows95 on a separate, but temporary, 200MB partition and MS Windows didn't have a problem from the start. I never tried using the 2.4.3 kernel and a 2.0.36 AIC 7880 driver and I doubt it would've worked when and if I tried. I don't experiment with this system of mine. It takes 3 minutes for it to boot and I like linux because I don't have to reboot it when I someone walks into my office and sneezes or yells "Dohnut"! Linux 2.4.9 made my day. Thanks Linus and all you elite hax0rz.
without prejudice
:-)
seriously, I think linus and al. should inspire themselves from the FreeBSD model, and get a working team and clear release/build model instead of the "linus is king" approach.
Some collaborative work would do a lot of good, I think.
you can compile the kernel with -ac? "Allow anonymous coward posts"? Reckless!
As a member of the GDB team (maintainer of the Linux/i386 port and co-maintainer of the threads support in GDB) I'm not aware of any coordination between the kernel folks an GDB at all. On top of that I'm not inclined to add support for this to GDB until it ends up in Linus' kernel. Anyway, the one-core-file-per-pid approach seems wrong to me. It's a waste of disk space since you're duplicating the VM for every pid. And isn't well suited to how GDB deals with multi-threaded core files on other platforms. A better approach would be to add an additional note with the register contents for each LWP to the same core file.
Someone mod the parent down. Seems like a worthless comment.
This is very interesting:l /0108.2/0416.html
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.
"That's all I have to say about that" --Forrest Gump
Interesting. The result seems to be you are modded down. This is a huge discovery, and will rock the slashdot science community.
I am writting a paper on these observations. You will soon see it on the front page of slashdot, under the science section.
Thank you for your contributions. We couldn't have done it without you LondenBerg.
Okay, I'll stick my foot in some place for which I don't have time to volunteer... :)
What if the direction was set to "require" developers to submit unit tests for their modules along with them? In not too long it would be possible to *shudder* regression test the entire kernel.
How is the QA testing of the Red Hat Kernel done now? WOuld it be easier or harder to integrate a test suite into the kernel source itself?
Since 2.4 is the stable branch, Alan will be starting to take over maintainance of the Tree, freeing up Linus to start work on 2.5.
this feature has been around for many, many years and with similar setup and ease of use. Goto freshmeat.net and look for "amd" which is the auto-mount daemon. It is more stable than supermount if you are into the command-line(console) thing. If you mount or umount a drive when being used by supermount; it'll freak out and act weird. "amd" works by you easily accessing /auto/cdrom or /auto/zip instead of mounting /mnt/cdrom or /mnt/zip and reading from within the /mnt directory which is what supermount does.
without prejudice
Slashdot even behaves like a game company. Bad support, ignoring customer feedback, and releasing beta-quality patches that radically alter gameplay!
Why pay for some shit Anarchy Online when you can post to /. for free?
Eek! No! Use of amd is not exactly encouraged any more; you should really be using autofs. You need to compile support for this in the kernel, and your distribution should have the userspace tools.
WMBC freeform/independent online radio.
CVS is just a (simple/complex) tool and will not work easing the development process. Aegis does have a development process model, and wont let you integrate a change until it compiles, is tested and reviewed. It might be hard though to harness the testing in such a way that aegis can work with it. I may be rather hard to get a test result if you test for some kernel panic and the result is positive...
This is what I use with an external HPT366 to have it run stable:
/sbin/hdparm -c 3 -m 16 -u 0
cheers
I think, therefore thoughts exist. Ego is just an impression.
Don't they give out titles to ordinary ppl that deserve it if enough ppl ask 4 it, maybe we should start a campaign, next time their gonna give em out :-)
Someone mod the parent down, seems I am needlessly carrying on a stupid thing.
Doh
It would work only on UP, not SMP systems, it's not possible to "stop" all related threads on all CPU at fault time. The all-thread-to-one-core approach is racey.
Anyway, there are very good reasons why Linus, Alan Cox, David S. Miller, Ingo Molnar, Al Viro and all other big names are against threads: in short they just want Linux to stay a stable, secure and well-performer platform.
I read somewhere that you should regard the various distributions as distinct, yet fairly compatible OSes.
Therefore, Red Hat 7.1 is a complete OS with a well defined (perhaps only internally documented) list of utilities/applications at well known individual version stages. Then you can compare RedHat 7.1 with FreeBSD 4.3-RELEASE to find out how they compare.
To answer your question: Linux is the kernel used by compatible OSes, known as "Linux distributions".
I'm using reiserfs with quota support but their patch is against linus kernels, therefore I need to also patch the quota utilities version 1.70.
The newest quota utils 3.x seems to already have reiserfs support, but don't work with linus kernel.
Will this mess be solved at near future? Why linus don't want the new quota code in his kernel?
In particular I was interested in seeing what messages would show up for me in the new Slashdot messenging system. I got notes for both time I was mod'ed -1 Offtopic, and notifying me of your reply.
Thank you for you assistance in my (not so) scientific experiment.
Some things are too important to be taken seriously. /. seems to me more like a soap opera, and just as addictive.