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
Posted Oct 28, 2004 3:48 UTC (Thu)
by dlang (guest, #313)
[Link] (1 responses)
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?)
Posted Oct 29, 2004 23:29 UTC (Fri)
by giraffedata (guest, #1954)
[Link]
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.
Posted Oct 28, 2004 13:08 UTC (Thu)
by ballombe (subscriber, #9523)
[Link]
Posted Oct 28, 2004 22:32 UTC (Thu)
by lakeland (guest, #1157)
[Link]
Posted Nov 7, 2004 0:08 UTC (Sun)
by dmag (guest, #17775)
[Link] (1 responses)
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.
Posted Dec 8, 2004 11:00 UTC (Wed)
by alex (subscriber, #1355)
[Link]
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 muchKernel development
you can use a distro kernel in an attempt to reduce the risk (on the theory that they get more testing)
Kernel development
So far I am not too concerned with the development model since Kernel development
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.
You raise a good point, but you have to admit that this point has been Kernel development
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 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.Kernel development
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.Corporate Users
