Kernel Changes Draw Concern 685
Saeed al-Sahaf writes "Is the Linux kernel becoming fat and unstable? Computer Associates seems to think so. Sam Greenblatt, a senior vice president at Computer Associates, said the kernel is 'getting fatter. We are not interested in the game drivers and music drivers that are being added to the kernel. We are interested in a more stable kernel.' There continues to be a huge debate over what technology to fold into the Linux kernel, and Andrew Morton, the current maintainer of the Linux 2.6 kernel, expands on these subjects in this article at eWeek."
Compiled Kernel not necessarily getting fatter. (Score:3, Informative)
Drivers that are not compiled are not taking any additional space. Drivers that are not used all the time can be compiled as modules...
So I guess I do not understand the criticism here.
Re:Isn't that why, (Score:4, Informative)
They've Been Complaining about That Since 1.3 (Score:5, Informative)
Re:What about older hardware! (Score:5, Informative)
This proud owner of an AMD K6 300 MHz has compiled and runs Linux 2.6.11.7 without a hitch, and continues to not see the problem.
Re:this is nothing new (Score:2, Informative)
Re:this is nothing new (Score:3, Informative)
Slackware has this (or something rather like this) -- it comes with a whole set of kernels compiled for different kinds of hardware.
Re:Heading Down the Windows Path (Score:3, Informative)
you have options and one of those options is to not use stuff.
Microkernels... (Score:2, Informative)
Obviously you can't do this for everything, but you could simplify the kernel significantly if instead of separate interfaces for every kind of object a single regular interface could be used at least as a starting point. The Amiga did this, and the result was a system of rare simplicity that made quite complex components easy to implement. Matt Dillon, a long-time Amiga hacker, is working on turning the BSD kernel inside out in this way. There's no reason Linux couldn't be cleaned up and pared down the same way.
Re:WTF? (Score:5, Informative)
I'd say the parent is a fair question, not a troll.
Morton's point appears to be this:
* x86 is notoriously unco-operative to full virtualisation
* trying to fully virtualise it (as VMWare and Virtual PC do) is a work around for the fact you can't modify the guest OS because it's closed source
* fully virtualising x86 in software results in rather painful performance hits for many workloads and a very complex hypervisor
* for open source OSs, it therefore makes sense to use paravirtualisation. This involves porting the OS to a special virtual machine-oriented "architecture", closely resembling the real hardware but without the costly-to-virtualise parts.
* paravirtualisation can be argued to be better than full virtualisation because (esp. on x86) the performance hit is much lower.
Porting of open source OSs is happening: Linux 2.4 and 2.6, NetBSD, FreeBSD 5.3 and Plan 9 can run on Xen (although currently only the Linuxes are supported as "host" or "Dom0" operating systems).
Thanks, CA (Score:4, Informative)
How about trying out this GREAT utility called "menuconfig"...then you can unbloat your kernel. In the time it saves you from manually editing your
Re:Compiled Kernel not necessarily getting fatter. (Score:3, Informative)
For example, if I try to load a pcmcia module on a destop machine from the command line it indicates it cannot find the hardware, and exits. I suspect the only difference with the Mandrake script is that it is quiet about it.
The "support every device possible" approach has very little in the way of a downside with a modular kernel if you have the disk space (ie. not trying to fit it on a floppy).
Re:WTF? (Score:3, Informative)
Re:Just my $0.02 (Score:5, Informative)
Or just download the patch instead. That's what those patches are there for, you know
Re:Compiled Kernel not necessarily getting fatter. (Score:3, Informative)
There's also a GUI tool for this. For that matter, you could not select those services to start in the first place. There's a dialog for it in the installer.
Re:WTF? (Score:3, Informative)
http://www.netbsd.org/Ports/xen/howto.html [netbsd.org]
Please see "Installing NetBSD as domain0".
Re:What about older hardware! (Score:3, Informative)
Re:I've noticed my Compaq laptop having problems (Score:3, Informative)
# make menuconfig
Then locate
Configure standard kernel features (for small systems)
This option allows certain base kernel options and settings to be disabled or tweaked. This is for specialized environments which can tolerate a "non-standard" kernel.
Re:WTF? (Score:4, Informative)
Something I think Sam missed is that Xen also supports VT which provides full-virtualization on the x86 (which makes Xen undeniably a true-hypervisor).
Compiler-driven para-virtualization is an interesting emerging area of research too that should make porting OSes to Xen much simplier.
All we need now is a really cool hypervisor-aware file system.. like a XenFS
Re:Just my 5 bytes (Score:5, Informative)
There is no reason that these "experts" can't tune a 2.6 series kernel to around 1 MB (maybe less). Kernels with modest support for lots of hardware are still around only 1.5 MB at best. Anyone complaining about it is simply talking out of their asses.
You don't want "game drivers and music drivers", then exclude them. There is no science to it. But I *want them* in my kernel, and many other people do as well.
Additionally, if Greenblatt and co. want more "enterprise features", they're certainly welcome to add time and money into developing these components.
This e-week article is misleading. It's not drawing "concern" for anybody, especially not the "open-source community". Computer Associates is not the "open-source community".
Re:What about boot-time loadable drivers? (Score:3, Informative)
I must be missing your point Mr AC.
Re:I guess this faq is wrong then. (Score:3, Informative)
No, you're both right. The OpenVMS kernel was written in VAX Assembler, but components of OpenVMS were written in a variety of languages. Like someone [stallman.org] we all know and [love|hate] likes to say about what is popularly called Linux, OpenVMS is much more than just a kernel.
Re:What about older hardware! (Score:5, Informative)
http://technovia.typepad.com/technovia/2004/05/lon ghorn_specs_.html
[typepad.com]
In a nutshell, it comes from a slide at a developer's conference, indicating the kind of machines that may be around for Longhorn's lifetime, and that the OS should be able to take advantage of such high specs, not that it will require such high specs.
menuconfig is too hard (Score:3, Informative)
Try this:
If it asks you any questions, those are new features that you weren't using before so just answer "N". when it's done, proceed to build your kernel, and it will be no more bloated than it was before.Re:What about older hardware! (Score:3, Informative)
That seems unlikely. Embedded Linux is a big deal, and embedded systems are far more squeezed for memory than even quite old desktop systems. That keeps pressure on Linus and Co. to keep the compiled kernel (though not the sources) from getting too bloated. If you read summaries of the LKML (like Kernel Traffic) you'll find that there is a set of developers who are constantly looking for ways of trimming fat out of the kernel. There's also some pressure from the high performance end, since a slow, bloated kernel will steal memory and processor cycles from running applications. Between those two groups, there's enough pressure that we can reasonably hope for the kernel itself to resist excessive bloat.
Re:A newbe question (Score:2, Informative)
What it will stop is rootkits. Things that alter files on disk to install backdoors, and then install a kernel module to hide said changes. Sometimes this kernel module will also hide the listening ports, or even keep them closed until it detects a special knock. It will had backdoor processes. It can do anything, and you'll never find it.
So completely disabling them? Yeah, that's a good idea for a server that isn't going to see much hardware changes. I've done it for a router before. It won't keep crackers out, it will just make them slightly more visible. Or at least keep them from being completely invisible. (Barring, of course, their patching and compiling a new kernel, but that requires, at least, a reboot.)
Merely limiting the number of modules, however, while having them enabled, doesn't help anything at all. A rootkit modules can load and then remove itself from the list and you'd be no wiser.
CA's kernel demands (Score:5, Informative)
No offense, but he sounds pretty clueless here - not to mention the fact that there is no "game driver" or "music driver", perhaps he is referring to device drivers and/or low-latency features, which allow for a better gaming/multimedia experience...
In any case, he completely misses the point that the kernel, as shipped by the distros, is modular. That means, if a device isn't present, or isn't used, the driver for that device never gets loaded into memory. So it doesn't really matter how many devices are supported, the only device drivers affecting the size of the kernel are the ones loaded into memory on the machine in question.
I find Greenblat's attitude ridiculous, since he seems to be saying that the kernel developers need to focus on what Sanm Greenblat is interested in, and to hell with people who want to do cool and interesting things with linux, which aren't part of CA's business plan.
I could go on, but that's enough for a first impression.
Re:Just my 5 bytes (Score:3, Informative)
All you have to do is recompile one time and then just transfer the kernel you want to all the machines, change the boot loader and voila. In the Windows world you have 3 choices: You can download and install the updates by sneakernet, you can set up a patch management system for them or you can get a company image up and going and then reimage all the machines
(I am sure there are other ways, but these come to mind in my cough syrup infused brain quite readily)
Re:WTF? (Score:3, Informative)
Re:Compiled Kernel not necessarily getting fatter. (Score:3, Informative)
That's only during the install, though. I agree that Windows' habit of loading all those bizzarre disk drivers into RAM during installation is kinda... crazy and inefficient, but that's only during installation!. It does not load "every known weird form of RAID" during normal operation.
Re:Just my 5 bytes (Score:3, Informative)
I'm surprised the kernel's as big as it is: CA may have a point.
Re:The Big Bloat (Score:2, Informative)
You really need to update your "why linux sucks" talking points for kernel 2.6.
SCSI emulation is dead (finally!), and ATAPI is taking it's place. Update to the latest CDRtools package, and you can use "cdrecord -dev=/dev/hdc" instead of mucking around with fake scsi devices.
Re:The Big Bloat (Score:1, Informative)
Mod me troll if you will, but stable binary interfaces would make driver maintenance a whole bunch easier, and perhaps result in fewer companies put off from supplying Linux drivers.
Of course, it would also be much harder to significantly improve a lot of things, being as it's fundamentally a macro-kernel. Ah well.
Modules that work with different kernel versions (Score:3, Informative)
This way binary driver modules can be placed on company websites and then installed.
Sure, this is more microkernel like, but Microkernels are a lot more modern and easier to manage.
Good thing $0.02 is pretty worthless. (Score:5, Informative)
Re:"fatter" (Score:3, Informative)
The Linux kernel needs this for drivers, and it's probably similar to the method Windows uses.
It already has it, has had it for about nine years, and it's called modules. I've many times compiled driver modules external to the kernel and used them as replacements for kernel-supplied modules. It works. Now, if you're saying that the Linux kernel should better support closed, binary-only driver modules (e.g. nVidia), that's a whole other argument.
Re:Just my $0.02 (Score:2, Informative)
Re:Just my $0.02 (Score:2, Informative)
IIRC he admitted it.
http://www.dina.kvl.dk/~abraham/Linus_vs_Tanenbau
Re:Just my $0.02 (Score:4, Informative)