Slashdot Mirror


2.4, The Kernel of Pain

Joshua Drake has written an article for LinuxWorld.com called The Kernel of Pain. He seems to think 2.4 is fine for desktop systems but is only now, after a year of release, approaching stability for high-end use. Slashdot has had its own issues with 2.4, so I know where he's coming from. What have your experiences been? Is it still too soon for 2.4?

7 of 730 comments (clear)

  1. Mandrake8.1 ships with both 2.4 and 2.2 by renoX · · Score: 5, Insightful

    This guy is complaining that he had troubles on a production server with Mandrake8.1 and its kernel 2.4.

    But Mandrake 8.1 ships with both kernel 2.4 and 2.2.
    The idea behind it is: if you need all the fancy stuff use 2.4 but if you want stability use 2.2.

    So using 2.4 on a server and then complaining that it isn't stable enough is silly IMHO.

    That said I agree that 2.4 has been slow to stabilize (VM mess apparently caused by communications problems between Linus and Rick Van Riel).

  2. We are worse off with 2.2 by oingoboingo · · Score: 5, Insightful

    Interesting what the author was saying about 2.2 versus 2.4 in terms of stability. We have 3 Linux machines which are used quite heavily here at the moment:

    1) A dual PIII-800/Intel 440GX/512MB ECC RAM based server, with a Mylex AcceleRAID 170 adapter, an Adaptec AIC-7896 SCSI adapter, Intel EtherExpress Pro 10/100, and an external 450GB SCSI RAID-5. This box is used for NFS/Samba file serving and an e-mail server for around 100 users.
    It runs kernel 2.2.17

    2) A dual PIII-800/VIA 133 server/1GB PC-133 RAM server, with an Initio A100U2W SCSI adapter, Intel EtherExpress 10/100 and 70GB of external SCSI RAID 1/0. It runs MySQL, Apache, and a collection of internally developed Perl, C and Java server apps, on kernel 2.4.3

    3) A dual PIII-450/Intel 440BX/512MB PC-100 RAM server, with an Adaptec 2940UW adapter, Intel EtherExpress 10/100 and 170GB of external SCSI RAID-5. It is used as a development system, and runs MySQL, Apache, and assorted Perl, C and Java apps, on kernel 2.4.1.

    Systems 2 and 3 have both been up for 197 days as I type this, and would have been up for over 250 days had we not needed to power them down to move them to a new server room.

    System 1 (with the 2.2.17 kernel) has never stayed up for more than 55 days. It hard crashes without anything informative being written to the logs, and obviously required the reset button to be pressed.

    Has anyone got any ideas, given the hardware configs and software running on these machines why 2.2 is so horrendous, yet 2.4 so stable?

    1. Re:We are worse off with 2.2 by WasterDave · · Score: 5, Insightful

      I know that there certainly were some... ahhh... issues with the Intel 8255x driver for Linux. There was a bunfight a while back when FreeBSD wasn't compatible with the embedded version of the 82559 (82559er), and the suggestion was made that someone look at the Linux driver to see what the command we were missing was. This led to a big stream of mails about how bad Linux's 8255x driver was, see.

      Or something like that.

      Anyway, I'd look at the changelogs for the network driver between 2.2.17 and 2.4.1, you may learn something.

      Dave

      --
      I write a blog now, you should be afraid.
  3. Desktop Myth by ImaLamer · · Score: 5, Insightful

    He seems to think 2.4 is fine for desktop systems but is only now, after a year of release, approaching stability for high-end use.

    I don't get it. I use Linux on the desktop. I have to admit that I don't run linux on my main machine. This is only because I've taken my second hard drive out, and put it back into an older machine. [sorry, wine doesn't like Red Alert 2]

    Before I did this though, I ran 2.4 kernels on my desktop. None of the problems I may have had were with the kernel. Problems I had were mainly with certain applications and when I pushed them to their limits. Pan, for instance, crashed a lot on me, but that was because I was downloading gigs per day. A simple Pan upgrade fixed that.

    In my humble opinion, 2.4 is prime for the desktop. Linux is more than ready for the desktop. I know he says it's ready for the desktop, but not ready for high end systems. To me 'high-end' is what you ask of a computer. I've got a 333MHZ running Red Hat 7.2. The computer is running webmin, proftpd, apache, and many mail daemons. I must also mention that SETI runs 24/7, it only has 64 MB of RAM. It never goes down, it never 'crashes', and is up as long as there is power running to it.

    So... it's ready for the desktop? Sure, 2.4.x is prime. All the drivers I've needed supported are there. Even my >$50 webcam.

    The question of 'desktop' use isn't with the kernel though. Desktop users don't patch or compile the kernel... how many times do they do it in *indows or MacOS X? They install complete distributions. IMHO, again, the only thing that keeps Linux off the desktop is easy program install. RPM has killed itself with dependencies, and apt-get is console based. Apt-get is waaay better, and it has worked wonders on my Red Hat machine [apt-rpm]. The problem is not being able to download an app and install it like *indows.

    Solve this and I will sit outside my local computer store and hand out CDs. I don't know about high end systems, but dammit!, desktop users are ready... format that *indows crap and get a real OS!

    Gimme a good apt-get gui... or have the system run apt-get in the background solving dependencies when needed... my g'ma will have it.

    BTW, I just saw a guy on TV and his name is... get this: Joe Householder

  4. Re:Why didn't he downgrade immediately? by bakreule · · Score: 5, Insightful
    "Hopelessly incompenetent"??? Are you kidding? You think he has shortcomings because he was doing what every single rational person does when encountering a software problem? When a program that I buy/download doesn't work, I immediately search for a patch. VERY reasonable behaviour.

    Far be it for me to criticize Linus, et. al as I could never do what they do, but the shortcomings are not with this guy, but with the buggy kernels. These are release kernels, they are not beta kernals. I think, considering the reputation of Linux, that a release kernel should be stable. Yes, bugs happen, and when they do, you would expect a patch to fix these problems.

    If everyone did as you suggested and rolled back to 2.2.x at the first whiff of trouble, who would be out using these "bleeding edge kernels"??

    I think you should cut the boy some slack.....

    --

    Buses stop at a bus station
    Trains stop at a train station
    On my desk there's a workstation....

  5. Re:Au contraire by captaineo · · Score: 5, Insightful

    I definitely see this too... In fact I'm about to start a full crusade against shitty windowing performance. (long visible lags between exposure and repaint, very jerky moving/resizing, etc). These are very real issues on Linux/XFree86. I plan to go as far as shooting my screen with a 100Hz camera to really see what's going on, retrace by retrace.

    There are many links in the GUI chain, any of which can cause a problem. Roughly from top to bottom-

    1. Widget toolkit (GTK, QT, etc)
    2. Client painting library (GDK, QT, etc)
    3. Window manager
    4. X protocol
    5. context switches
    6. X server
    7. 2D video card driver

    The folklore seems to be that 4, 5, and 7 are the major problems - "the X protocol is badly designed, switching between client, server, and window manager processes is too expensive, and XFree86's video drivers are no good."

    In reality though, the problems aren't where most people expect. The X protocol is not generally a bottleneck, especially if the client programmer knows what he's doing (wait until the input queue empties before repainting anything, avoid synchronous behavior, double-buffer windows using server-side pixmaps, etc). The copy-and-context-switch overhead isn't too bad either (keep in mind that context switches are much more expensive on Windows, and Windows is the platform to beat for 2D smoothness!). And finally, many of the 2D drivers really do take advantage of all the hardware offers.

    The real culprits are turning out to be 1 and 3 - the tookits and window managers. Many of the Linux toolkits (especially GTK) have very advanced widget alignment/constraint systems that bog down when windows are resized. Some toolkits are doing naughty things with the event loop (painting while events are still in the input queue, or trying to "optimize" by pausing for new events), and most of them aren't fully double-buffered yet (though GTK 2.0 and recent KDE/QT are most of the way there). Window managers are some of the most horrific perpetrators of 2D crappiness. Some of them try too hard to snap or quantize window sizes and positions, resulting in jerky motion. Kwin seems to prolong expose/repaint cycles much more than necessary. And finally, I will make one criticism of X's overall architecture - I don't think separating the window manager from the X server was a good choice. The asynchronous relationship between X and the wm can cause nasty delays in window moving and resizing. (plus, all widely-used wm's have basically the same features these days; what's the use of having a choice? ;]).

    I used to think that the only way to get perfectly smooth 2D would be to embed the widget toolkit in the X server, so that it could handle repainting all on its own. Now I don't think one needs to go that far; it may just take a well-written window manager, and a similarly carefully-designed widget toolkit. (though it may be helpful for the server to mandatorily double-buffer every window - hey, video RAM is plentiful these days =)

    There are lots of issues I haven't investigated yet - for instance, I think Windows may be doing something interesting with vblank; dragging windows around seems to show a lot less tearing compared to X... Also, 3D OpenGL windows seem to cause much worse artifacting on both X and MS Windows. It's almost possible to bring an animating OpenGL program to a complete halt just by resizing the window, or dragging another window in front of it.

    It's an interesting problem, and I'm glad to see I'm not the only one who cares about it. I find it apalling that (to my knowledge) not one major 2D GUI system has been able to produce 100% correct results - i.e. every window correctly drawn on every single monitor retrace, even while dragging or resizing. Why should we settle for less than 100%?

  6. Re:Why didn't he downgrade immediately? by Lumpy · · Score: 5, Insightful

    EXACTLY!!!! Everyone that has been bitching about the 2.4 series could never give a real reason why they switches their servers to it. I swirtched to 2.4 and kept using every version because of my firewire video editing projects. and firewire is just now getting stable and useable. a server does not need this. nor does it need usb, or anything else added to the 2.4 series. All of my linux servers at work are running 2.2 and will continue to do so until they NEED a 2.4 kernel. It this insane constant "tinkering" that many linux zealots do that makes management not even consider linux as an option. MY boss mentioned that another devision asked him how we kept the linux boxes running well, I told him that we installed it ,configured it and then LEFT IT ALONE except for security patches. and that kiddies is the key to any server..

    --
    Do not look at laser with remaining good eye.