Linux v2.6 scales the enterprise

Bigger, stronger kernel sizzles in our performance tests

1 2 Page 2
Page 2 of 2

My Web application tests were conducted using a custom CGI script written in Perl, referencing a MySQL database running on the same system. The script ran a single select on a column in the database, returning 97 rows of eight columns, including one image. Again, Apache’s ab was used to measure performance. The overall numbers showed smaller performance increases than the static tests, with the exception of the Opteron tests, but the 14 percent to 22 percent performance increases across all platforms are stellar.

My tests were geared to show the performance differences between the two kernels on each hardware platform, not to compare the platforms. That said, the Opteron’s performance was outstanding; both the v2.4 and v2.6 kernels posted impressive results across all tests but most dramatically in the MySQL tests, showcasing the 64-bit support in v2.6. Overall, the v2.6 kernel shows very impressive performance gains over v2.4, itself a well-performing kernel.

While I didn’t run into many problems with the v2.6 kernel, there are a few notable issues with the initial release. For example, the drivers for LSI Logic’s Fusion-MPT RAID controllers have some serious I/O problems in a RAID1 configuration. When drives are addressed individually, there are no issues, but this is a significant hindrance to v2.6 adopters running with Fusion-MPT RAID controllers. These RAID modules are also problematic in the v2.6 kernel for Opteron, causing a panic unless iommu=merge is passed to the kernel at boot.

Further, on the Xeon platform, the v2.6 kernel compiles straight from the official source without a hitch, but not so on Itanium and Opteron. Although support for these platforms is present in the kernel, patches from specific platform development efforts are required to compile v2.6. Once built, the kernel boots normally, but requires the updated mkinitrd and modutils packages to fully function. Other than the driver-related problems, the v2.6 kernel compiled, booted, and ran without problems on all three platforms, handling with aplomb every test I threw its way.

Where From Here?

Today, the vast majority of production Linux systems run a version of the v2.4 kernel. Those satisfied with the performance and functionality of this kernel are not likely to make any sudden changes. If it ain’t broke, don’t fix it. IT shops running big databases and other mission-critical applications on v2.4 shouldn’t necessarily jump on the bandwagon immediately but should definitely begin testing v2.6. The v2.6 kernel is the new boss, and it behooves any IT department to become familiar with its capabilities and plan for adoption.

And what of the v2.4 kernel? Marcelo Tosatti, the Brazil-based maintainer of the v.2.4 kernel, has announced on the LKML (Linux Kernel Mailing List) that once v2.6 is officially released, v2.4 will indeed enter maintenance mode, without further revision or major modification following the imminent release of v2.4.25. This stance has been met with some derision within the kernel development community and also amongst major corporate Linux sponsors. At the crux of the issue are the major changes in the v2.6 kernel and the fact that many manufacturers that continue to release binary-only hardware drivers have been extremely slow to produce drivers for current v2.4 branch kernels, to say nothing of the nascent v2.6 branch.

Also at issue are the fundamental changes in the core of the v2.6 kernel. Most applications that function on v2.4 kernels will continue to do so on v2.6. However, a few of the major changes could affect currently deployed applications. For this reason, Red Hat, the dominant Linux distribution in the United States, has decided to forego official v2.6 kernel support in its recent Advanced Server and Enterprise Server products, opting to stay with its highly customized v2.4.21 derivative kernel. However, Red Hat has back-ported several key elements of the v2.6 kernel into its v2.4.21 Enterprise Linux kernel, such as support for up to 64GB of RAM, 16 CPUs, IPSec, and NPTL. In this fashion, Red Hat is able to maintain application compatibility while providing what it considers to be the most desired features of the v2.6 kernel.

When building server architectures that could make use of the enhancements of the v2.6 kernel, admins will need to configure and build custom kernels tuned to their specific workloads. The problem with distribution-specific kernels is that they tend to differ greatly from the official kernel releases, both in the default option selections and the patches they include.

On the upside, these kernels are generally very broad in their hardware support, as they are configured and built with nearly every module that could possibly be used to ensure hardware compatibility for target systems. They also tend to include patches that can either increase or decrease performance, depending on the server workload. Admins who run these servers are generally best served to patch, configure, and build a custom kernel for their servers, both to ensure hardware compatibility and to squeeze out performance increases when possible. The base distribution running the server may require some modifications to accept a v2.6 kernel, such as the addition of the new modutils and mkinitrd tools, but should otherwise function normally with a new kernel.

As with any major development effort, bugs remain in the v2.6 kernel, and are being actively pursued by the kernel developers. As of this writing, kernel v2.6.2rc1 is available for download from, and it includes various bug fixes and enhancements over the v2.6 kernel released just a few weeks ago. The process continues; those considering a move to v2.6 would be well-advised to test the new kernel thoroughly before any production implementation.

The Linux kernel has come a long way since Linus Torvalds’ announcement of v0.1 in 1991. The v2.6 kernel boasts many new features as well as major performance improvements over the v2.4 kernel and is poised to take Linux into the next stage of the game: true enterprise adoption. To continue making inroads into the datacenter, Linux must grow with the needs of the established user base, as well as navigate previously uncharted waters to appeal to those still looking in from outside. The v2.6 kernel appears to be up to the task.

Copyright © 2004 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2