|
|
Subscribe / Log in / New account

Kernel development

From:  Keith Edmunds <keith-AT-midnighthax.com>
To:  letters-AT-lwn.net
Subject:  Kernel development
Date:  Sun, 24 Oct 2004 12:52:47 +0100

Dear LWN

Kernel development should serve, very broadly, three classes of user:
private users, corporate users and kernel developers, and it is
important that the needs of all three are met. Recently the needs of the
middle group have not been met.

Since version 1.0, over ten years ago, kernel versions have followed the
elegant and simple scheme whereby odd point releases are development
kernels and even point releases are stable kernels. The 2.6 kernel has had,
and continues to have, major subsystems completely rewritten, not in the
interests of bug fixing, but in the interests of development. That the old
kernel development model had shortcomings in the eyes of the developers I
accept, but the current model has shortcomings in the eyes of corporate
users. I currently maintain around 25 servers in a lights-out environment:
were I to install 2.6 on them, which version of 2.6 should I consider to be
"stable"?

For corporate users, the 2.4 series is stable. The only changes now are
genuine bug fixes or porting for new hardware (eg, SATA disks). The 2.6
series has some features which are attractive to corporates (eg, built-in
VPN), but few will risk installing such a rapidly-changing kernel on a
24x7 server.

A development methodology that serves all three classes of user is
required. Forking a development "odd-dot-zero" release near-simultaneously
with the release of the production "even-dot-zero" version worked well for
almost ten years. Should we return to that scheme?

Best regards,

Keith Edmunds
http://www.TheLinuxConsultancy.co.uk



to post comments

Kernel development

Posted Oct 28, 2004 3:48 UTC (Thu) by dlang (guest, #313) [Link] (1 responses)

As someone who has been running Linux in a corporate environment now since the 2.0 days I will say that the risk really has not changed much

when a new 'stable' kernel series is released there are always a few problems (or in some cases there have been more then just a few) so you have to wait until you stop hearing about major problems (along with trying the new version on your own systems/workloads to test for such problems)

after the new kernel series has proven itself reasonably solid you roll it out (with extenseive testing) into production.

when you need to upgrade to a new version you follow the same procedure, you wait a little bit after it is released to avoid any major bugs and then you roll it out and watch for problems, prepared to roll back if you run into any.

2.6 is exactly the same, yes more stuff changes between releases, but reliability wise it has been at least as solid as prior stable kernel series.

the problem with forking off a new development kernel is that you get into a situation where the fix for your production bug is to switch to a development kernel (I had a production box that ran a 2.1 kernel for quite a while becouse there was a bug that couldn't get fixed in the stable kernel that was required to support my hardware)

you can use a distro kernel in an attempt to reduce the risk (on the theory that they get more testing), but personally I believe that the community testing and reporting on the kernel mailing list is far more extensive then any distro does to their kernel (very important when the distro kernel gathers patches that aren't in mainline)

This also isn't a Linux problem, it's a Corporate Datacenter Management problem, you have to do the same steps when you get a patch from any other vendor (Microsoft SP2 anyone?? after all it got extensive testing befor release and is only the second update in how many years, it's got to be reliable right?)

Kernel development

Posted Oct 29, 2004 23:29 UTC (Fri) by giraffedata (guest, #1954) [Link]

you can use a distro kernel in an attempt to reduce the risk (on the theory that they get more testing)

That's not the theory on which I would do it. I would expect it to reduce the risk because the distributor stabilizes the kernel. I.e. it maintains a series for a long time (during which time it is continually tested by users) without making any but low-risk high-reward changes (e.g. bug fixes).

If you want to have confidence in a kernel, you need one that has been used for a long time by lots of people and hasn't changed significantly in the meantime.

Kernel development

Posted Oct 28, 2004 13:08 UTC (Thu) by ballombe (subscriber, #9523) [Link]

So far I am not too concerned with the development model since
we are still at 2.6.9 and none of 2.0.9, 2.2.9 and 2.4.9 was deemed
production quality anyway. Large changes has also happened in the early
2.4 series (remember the new VM ?). So am I still ready to trust
kernel developers they have made the good choice. Time will tell.

Kernel development

Posted Oct 28, 2004 22:32 UTC (Thu) by lakeland (guest, #1157) [Link]

You raise a good point, but you have to admit that this point has been
addressed before on LWN. IIRC the comment was that the features being
added to 2.6 are no affecting stability (yet?), so there is no need to
fork (yet).

I find 2.6 extremely reliable. For personal use, tracking 2.6 is quite
painless, with very few things changing between subrevisions. In a
corporate environment, very few things changing is significantly more
changing than is acceptable, so I would discourage upgrading between 2.6
releases at the current time. Basically you can expect some changes
between 2.6.x and 2.6.y, even if both x and y are perfectly acceptable
from a reliability perspective.

So in conclusion, don't hold off the upgrade to 2.6, but don't bother
upgrading within 2.6. My guess is that the best option is to go with your
distributors 2.6.x kernel. It doesn't matter what x is, I find them all
reliable enough. If there are any problems with it, your distributor will
release a new version of 2.6.x, so you should never have to upgrade to
2.6.y. When your distributor chooses to upgrade to 2.6.y, you can expect
to see much fewer changes than you saw from 2.2 to 2.4, and from 2.4. to
2.6.

All my opinion, etc.

Kernel development

Posted Nov 7, 2004 0:08 UTC (Sun) by dmag (guest, #17775) [Link] (1 responses)

Kernel development should serve, very broadly, three classes of user: private users, corporate users and kernel developers, and it is important that the needs of all three are met.

No, your entire premise is wrong. Linus and friends went thru all the trouble to write and OS and give it away for free. You imply that they are somehow obligated to serve corporate masters. There is no such obligation.

Corporate Users

Posted Dec 8, 2004 11:00 UTC (Wed) by alex (subscriber, #1355) [Link]

As a corporate user he really should be going to his vendor to get the stablised kernels for his distro. Part of the vendors "value add" is stabilising the kernel tree for precisely the reason he mentions. The kernel.org tree's have never been anything other than the latest/greatest from the developers, even before the new model.


Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds