PDA

View Full Version : Torvalds Calls Linux Kernel 'Huge And Bloated



DracoJesi
November 1st, 2009, 08:50 AM
The Linux kernel is getting too big too fast, and that's negatively affecting Linux performance. While this might sound like a message fromMicrosoft (NSDQ: MSFT)'s marketing team, it's actually a frank admission that Linus Torvalds made Monday in a roundtable discussion at the LinuxCon event in Portland, Ore.

Asked whether features are being added to the Linux kernel too quickly, and whether this is affecting Linux performance, Torvalds acknowledged that this is indeed a problem. The Linux kernel has also grown to the point where it's no longer streamlined and efficient, Torvalds added.

"The kernel is huge and bloated, and our icache footprint is scary. I mean, there is no question about that. And whenever we add a new feature, it only gets worse," Torvalds said at the event, as reported by The Register.

Torvalds, of course, has never been one to mince words about the shortcomings of proprietary operating systems, which is why Microsoft and Apple officials are probably snickering uncontrollably over his characterization of the Linux state of affairs. Solution providers, for their part, say Linux is simply running into the same issues that have dogged vendors that compete on feature sets.

"The more features offered in a kernel, the more code you produce, and the slower the system that's running the operating system," said Travis Fisher, executive vice president at Inacom Information Systems, a Salisbury, Md.-based solution provider. "As Linux matures, [the community is] seeing the same problems that Microsoft and Apple have already run into."

Frank Basanta, director of technology for Systems Solutions, a New York-based integrator, says Linux kernel features have grown as a result of the need for Linux to compete with the likes of Windows 7 and OS X Snow Leopard.

"Linux as a product needs to stay competitive with other products, and as much as the community tries to keep a handle on this, it's starting to spin a bit out of control," Basanta said. "As new releases come out it does get slower, and it's not as fast and lean as it used to be."

At LinuxCon, Torvalds also admitted that the Linux community doesn't have a concrete plan to address the situation. But Bernard Golden, CEO of Hyperstratus, a San Carlos, Calif.-based solution provider, doesn't interpret Torvalds' comments as a dire warning or a call to action. Instead, Golden says the growth of the Linux kernel reflects the fact that more vendors are pushing to get their products running on the OS.

"As Linux gets more popular, people are doing more with it, and that means more code. It has got slower, but you don't hear people saying it's too slow. Besides, hardware doubles in performance every year," Golden said.

http://www.crn.com/software/220100662;jsessionid=FIGELAT0RQHILQE1GHOSKHWATMY32 JVN?cid=topicalFeed

I for one have to call BS on this story, Linux has gotten faster for me, not slower, and "compete with windows and OSX feature sets", I can do much more with Linux than I ever could do with Windows.... and it seems to me that's the same case against OS X

the only thing I think we really have to compete with is user-friendliness........

Bachstelze
November 1st, 2009, 08:54 AM
I for one have to call BS on this story,

Orly? Well, I think Linus knows better than you...

nisshh
November 1st, 2009, 09:14 AM
If you think about it linus does have a point, i mean the LK is up around 80MB's now. I wouldnt call it bloated, but you can imagine how much code there is, it must be all mixed up and hard to understand if your not a kernel dev.

So no its not BS, but i think what linus is saying is that if the LK continues on its current path then it will end up like the windows and mac kernels, utterly useless.

Macintosh Sauce
November 1st, 2009, 09:29 AM
Doesn't Linus Torvalds work on the Linux kernel? If so, that is kind of like punching yourself in the face. LOL

Bachstelze
November 1st, 2009, 09:30 AM
Doesn't Linus Torvalds work on the Linux kernel? If so, that is kind of like punching yourself in the face. LOL

No, that's called being realistic.

Khakilang
November 1st, 2009, 09:32 AM
I think its not the size that matter. Its how efficient it work around the computer. I upgrade from 8.10 to 9.04 and now 9.10. I don't see a change of performance. I think its natural because new technology has been introduce, new hardware and so forth will eventually bloated the Kernel. I am sure you may not use a computer that is more than ten years old technology.

schauerlich
November 1st, 2009, 09:32 AM
No, that's called being realistic.

Who are you to talk, you're just a BSD troll!

Bachstelze
November 1st, 2009, 09:35 AM
I think its not the size that matter. Its how efficient it work around the computer.

Thing is, Linux is not only used on what is usually called "computers", but also in embedded devices. And for such uses, Size does matter, a lot.


Who are you to talk, you're just a BSD troll!

Shut up, Mac fanboy.

handy
November 1st, 2009, 09:42 AM
This is a well balanced article on the topic:

http://lwn.net/Articles/354010/

Macintosh Sauce
November 1st, 2009, 09:50 AM
Thing is, Linux is not only used on what is usually called "computers", but also in embedded devices. And for such uses, Size does matter, a lot.

My Amazon Kindle has some version of Linux running it.

Sealbhach
November 1st, 2009, 09:54 AM
It has to support so much hardware these days, of course it'll start to get a bit flabby.

I wonder how do they decide when to stop supporting really old old hardware?

.

mivo
November 1st, 2009, 10:04 AM
I wonder how do they decide when to stop supporting really old old hardware?

What would you consider "really old old" hardware?

Crunchy the Headcrab
November 1st, 2009, 10:09 AM
I don't know about the kernel itself but I've always thought it would be nice to have an arch linux-like modularity. For example instead of installing tons of drivers/kernel modules, you could install only the ones you needed (there would be an install option so that this would only be necessary if you were competent). However instead of the flying blind type of linux install, there would be an ubuntu-store-ish kind of gui that would list the modules and what hardware they supported. Surely something like this is possible with a live cd, but it would be a TON of work to do.

PryGuy
November 1st, 2009, 10:20 AM
For God's sake, Linus is an architector, the fact that he criticises Linux kernel does not mean that he prefers Windows kernel or something.

The Toxic Mite
November 1st, 2009, 10:21 AM
tl;dr

jrrader
November 1st, 2009, 10:27 AM
The beauty of it is that it's open source and anyone can change it, use an older version, write a new version. Some will bloat it up to compete with Windows, others will make it as small as possible.

Sealbhach
November 1st, 2009, 10:29 AM
What would you consider "really old old" hardware?

Not sure really, anything made in the 1980's I guess.

.

Crunchy the Headcrab
November 1st, 2009, 10:31 AM
Not sure really, anything made in the 1980's I guess.

.
Ah. Pre-linux hardware. I have a few of those pc's but I don't use them. They are museum pieces :D
Edit, nevermind. I have 1 pc made in 1989. That's the oldest. Ha.

Bachstelze
November 1st, 2009, 10:36 AM
The beauty of it is that it's open source and anyone can change it, use an older version, write a new version. Some will bloat it up to compete with Windows, others will make it as small as possible.

"can" != "will"

DracoJesi
November 1st, 2009, 11:21 AM
well, seeing as how he is aware of it, and in the position to do something... that helps...

perhaps there could be one for older hardware and one for modern hardware... or what hat be a pain? actually, since I doubt there will be anything added in relation to that old hardware..... perhaps support for that hardware should be removed as I don't see any reason why older hardware would need to use a newer kernel.... but but then I'm not a kernel dev....

but with the way technology is moving, as mentioned, would it really be a problem? but then that's kind of settling for "good enough" isn't it? and as mentioned there are the embedded devices....

but correct me if I'm wrong, people run Linux on there X-boxes and on their PS3's, I'm pretty sure this would require them to compile their own kernal( or for someone to do it for them) as I doubt the PS3's cell processor was on the "to-do" list lol

so end the end, if your running hardware that old, when you had to how it worked instead of simply turning it on.... (and unless your an enthusiast, why would you need something that old?) perhaps maybe compiling your own kernal isn't so bad...

as for old hardware, I also thought Vinyl records sounded better for some reason, maybe I'm crazy... 8-tracks are pretty cool to :)


Orly? Well, I think Linus knows better than you...

I'm not questioning Linus at all, of course he knows better than me.... but how do I know he really said that? just because that article said he did?

Crunchy the Headcrab
November 1st, 2009, 11:28 AM
I'm not questioning Linus at all, of course he knows better than me.... but how do I know he really said that? just because that article said he did?

You have to keep in mind that Ubuntu or even Gnome != linux. At the kernel level linux is getting bigger and more bloated. Gnome and Gnome Display Manager, X Window Server, Alsa, Pulse, and other software that helps us to use the power of the Linux Kernel may be speeding up and improving which is what you are noticing. You are not noticing the kernel (Linux) get faster.

samjh
November 1st, 2009, 11:36 AM
I don't know about the kernel itself but I've always thought it would be nice to have an arch linux-like modularity. For example instead of installing tons of drivers/kernel modules, you could install only the ones you needed (there would be an install option so that this would only be necessary if you were competent). However instead of the flying blind type of linux install, there would be an ubuntu-store-ish kind of gui that would list the modules and what hardware they supported. Surely something like this is possible with a live cd, but it would be a TON of work to do.

You can compile the Linux kernel with various features enabled/disabled, which obviously affects the "bloat" of the result. However, installing or uninstalling those features on-the-fly is impossible.

Having said that, you can still load/unload compiled kernel modules (ie. device drivers). Various distributions have their own ways of allowing the user to do this. Using the modprobe command is the standard way to do it per session.


Thing is, Linux is not only used on what is usually called "computers", but also in embedded devices. And for such uses, Size does matter, a lot.

Linux in embedded systems are customised to be suitable for the hardware. If you're building a missile guidance system using the Linux kernel, you are not going to just download and build the kernel as-is from kernel.org.


So no its not BS, but i think what linus is saying is that if the LK continues on its current path then it will end up like the windows and mac kernels, utterly useless.

Windows and Mac kernels are useless? That's news to the entire IT industry.

DracoJesi
November 1st, 2009, 11:49 AM
You have to keep in mind that Ubuntu or even Gnome != linux. At the kernel level linux is getting bigger and more bloated. Gnome and Gnome Display Manager, X Window Server, Alsa, Pulse, and other software that helps us to use the power of the Linux Kernel may be speeding up and improving which is what you are noticing. You are not noticing the kernel (Linux) get faster.

true, but I figured since newer versions of Ubuntu tend to use the latest kernal, that if it were getting bloated, you'd notice... but if you don't, and things are faster overall, is this really such a huge concern?



You can compile the Linux kernel with various features enabled/disabled, which obviously affects the "bloat" of the result. However, installing or uninstalling those features on-the-fly is impossible.

Having said that, you can still load/unload compiled kernel modules (ie. device drivers). Various distributions have their own ways of allowing the user to do this. Using the modprobe command is the standard way to do it per session.

so, how complicated are we getting here? if I wanted to not install support for older hardware... or hardware I know I wont be using, for example... there is no floppy drive on my laptop... and I seriously doubt it's using an ISA bus

so, wouldn't it be beneficial to cut back here... or is it one of those things were unless you are absolutely sure you know what you're doing.... don't?

or does it not even matter?

because I have a fresh install right now, no files or anything I'm worried about losing...

Hallvor
November 1st, 2009, 11:52 AM
For God's sake, Linus is an architector, the fact that he criticises Linux kernel does not mean that he prefers Windows kernel or something.

I think Thorvalds is becoming a liability. First he disses the kernel, and now this: http://www.blogcdn.com/www.engadget.com/media/2009/10/linus-torvalds-gives-windows-7-a-big-thumbs-up.jpg

I think we need to... you know... take him out. :lolflag:

handy
November 1st, 2009, 12:01 PM
So (apart from embedded devices & such) is the problem with the kernel continually becoming larger that the extra size & complexity means that there is more work involved in maintaining it?

Does the size of the kernel have any effect on the performance of a computer that has been built in the last 6 or 7 years?

I'm sure I read somewhere that there are few instances where recompiling the kernel has any advantage these days, when it comes to gaining a noticeable performance improvement.

I don't know the answers to these questions. I can certainly understand that more hardware means that there is more hardware to support.

I wonder what effect on the size of the kernel the proposed incorporation of GPU support into just the kernel & mesa will have?

samjh
November 1st, 2009, 12:04 PM
so, how complicated are we getting here? if I wanted to not install support for older hardware... or hardware I know I wont be using, for example... there is no floppy drive on my laptop... and I seriously doubt it's using an ISA bus

so, wouldn't it be beneficial to cut back here... or is it one of those things were unless you are absolutely sure you know what you're doing.... don't?

or does it not even matter?

For your first question: depends. Unloading modules using modprobe isn't really complicated as long as you're aware of what the module does and what the consequences are for not loading it. For example, on my system, I disable the pcspkr module, because all it does is produce annoying beeping noises from my case's on-board piezzo speaker.

For your second question (ISA bus), you can disable support for ISA during the configuration process of building the kernel (ie. just prior to compilation). When you "make config", there are a bunch of options you can tinker with, and one of those options is support for bus types. In fact, I believe ISA support is often disabled for Linux kernels targeting modern personal computers.

K.Mandla
November 1st, 2009, 01:29 PM
For my money, Linus probably knows what he's talking about. On the other hand though, one of the things that's nice about the Linux kernel is if it does prove too fat and bloated for you, you have the freedom of removing parts you don't use. To the best of my knowledge, you don't get that option with the competition.

I'm running 2.6.31.5, and my start times are under 12 seconds for a 550Mhz machine. Of course, if it was still running Windows ME ... well, let's not talk about that. ;)

madhi19
November 1st, 2009, 04:04 PM
The good news is that by being open source the kernel can be optimized by just everybody who know what they are doing! This is the point that Gentoo is making. Can't say that about Microbloat!

pwnst*r
November 1st, 2009, 04:08 PM
Shut up, Mac fanboy.

such talk from a Mod

Greg
November 1st, 2009, 04:10 PM
Am I the only one that feels like I read this a few weeks ago?

Jimleko211
November 1st, 2009, 04:23 PM
Am I the only one that feels like I read this a few weeks ago?
Yeah I read this a few weeks ago too, on these forums.

RiceMonster
November 1st, 2009, 04:24 PM
Am I the only one that feels like I read this a few weeks ago?

Nope, because it IS from a few weeks ago.

schauerlich
November 1st, 2009, 05:24 PM
such talk from a Mod

We give each other hell in #ubuntuforums all the time, it's all in good fun. No worries.

kevdog
November 1st, 2009, 06:04 PM
Just a couple of comments -- just because you may include modules in the compiled kernel you may not need (ISA for example) -- I don't believe that is going to slow down performance, particularly if those modules are not loaded in the first place at boot. I think the big problem here is keeping track of how added modules may affect the performance of other modules. I think simply compiling your own kernel (which is a very educational exercise in itself) isn't really going to amount to much if you don't know how to do it properly -- meaning optimize it for efficiency. I for one have no idea how to compile a kernel for efficiency. Sure I can go down the list and say "Yea I don't need that hardware support, nope, nope, yes, nope, etc" but in the end is that really making my kernel run more efficiently? I doubt it!

phrostbyte
November 1st, 2009, 06:05 PM
You have to keep in mind that Ubuntu or even Gnome != linux. At the kernel level linux is getting bigger and more bloated. Gnome and Gnome Display Manager, X Window Server, Alsa, Pulse, and other software that helps us to use the power of the Linux Kernel may be speeding up and improving which is what you are noticing. You are not noticing the kernel (Linux) get faster.

Actually the compiled Xorg is getting more simple with every release, because a lot of it's complexity is being "moved" to the kernel (mode switching and memory management).

phrostbyte
November 1st, 2009, 06:10 PM
Linux is bloated by definition, it's a monolithic kernel. :D Monolithic kernels are one giant binary. These makes them simpler to write and they also perform faster because message passing between routines in different modules is not required. But it has it's disadvantages also.

The reason Linux even runs on embedded devices like the Kindle or phones is because of Linux's excellent build-time modularity. The kernel in the Kindle is not a vanilla kernel for instance.

Perhaps eventually when you install Ubuntu, the installer will automatically analyze your hardware and build you a custom kernel.

NCLI
November 1st, 2009, 06:38 PM
I'm not questioning Linus at all, of course he knows better than me.... but how do I know he really said that? just because that article said he did?
-.- Is this good enough for yo (http://www.techcast.com/events/linuxcon/roundtable/)u, or are you afraid that might just be someone wearing a Linux Torvalds costume?

Mr. Picklesworth
November 1st, 2009, 06:54 PM
Linux is bloated by definition, it's a monolithic kernel. :D Monolithic kernels are one giant binary. These makes them simpler to write and they also perform faster because message passing between routines in different modules is not required. But it has it's disadvantages also.

The reason Linux even runs on embedded devices like the Kindle or phones is because of Linux's excellent build-time modularity. The kernel in the Kindle is not a vanilla kernel for instance.

Perhaps eventually when you install Ubuntu, the installer will automatically analyze your hardware and build you a custom kernel.

A really clever operating system could have a crazy simple monolithic kernel and most stuff running at different levels in userspace. (For example, what X does). Rtkit is a nice little step in that direction :)

insane_alien
November 1st, 2009, 06:55 PM
all this means is that linus wants to move the developers into compacting the kernel and making it more streamlined. which is a good thing.

obviously there are limits though.

perhaps it should fob off a lot of the stuff to modules that can be loaded as needed.

blithen
November 1st, 2009, 07:11 PM
Thing is, Linux is not only used on what is usually called "computers", but also in embedded devices. And for such uses, Size does matter, a lot.



Shut up, Mac fanboy.

I love you.

blithen
November 1st, 2009, 07:14 PM
such talk from a Mod

Is awesome.

Regenweald
November 1st, 2009, 08:19 PM
I think at some point the kernel architects are going to start a parallel project with a future kernel structure. I for one would like a more straightforward *BSD style kernel compiling procedure, so as some have said, I can trim the millions of lines of hardware code that I do not need.

PhoHammer
November 1st, 2009, 09:16 PM
my start times are under 12 seconds for a 550Mhz machine.

Well done, good sir!

Edit:
Perhaps eventually when you install Ubuntu, the installer will automatically analyze your hardware and build you a custom kernel.
That will be a happy day for me!

Regenweald
November 1st, 2009, 09:33 PM
Perhaps eventually when you install Ubuntu, the installer will automatically analyze your hardware and build you a custom kernel.

This is something that i have been thinking about for a while. The way i see it : If you have all your hardware functioning on your machine, then there is a config file stored somewhere that is

Aware of the device
Able to use the device hardware properly

With this in mind, why not a compiling utility that can detect all the hardware configurations on the machine, generate a compile file based on this information, then compile a kernel specific to the machine ?

This information could then cascade to the package manager which would only pull updates relevant to your hardware/software config on your machine.

something like a Gentoo/Ubuntu hybrid on steroids.

pwnst*r
November 1st, 2009, 09:34 PM
We give each other hell in #ubuntuforums all the time, it's all in good fun. No worries.

roger.