The Wonderful World of Linux 2.2
As any kernel developer can surely tell you, the advent of Linux 2.2 is imminent. Linux 2.1 is approaching near astronomical version numbers in its slow march to completeness, 2.1.108 as of this writing, and all eyes are looking toward the day when 2.2.0 will ship standard in the various distributions. Even if you don't actually follow the Linux kernel version by version, 2.2 is an important milestone to understand. This article is my take on the Linux kernel developments of late, with a significant bias towards x86, the Linux I use most often at home.
Development in the world of Intel chips is fast and interesting to follow if you have nothing better to do. Merced, Celeron, MMX—the names of Intel technologies float past to be replaced by new cutting-edge technology. (Whether or not these technologies are worthwhile is debatable.) In addition, AMD, Cyrix and other companies have become solid competitors in the market, and each has its own little optimizations, quirks and bugs. It is a mess to keep up with.
Linux 2.2 will be the first stable Linux version to support optimizations for each of these chips and a selection for the processor vendor in the kernel configuration tool for even better fine-tuning. Perhaps even more importantly, Linux 2.2 (and later revisions of 2.0 for obvious reasons) supports bug fixes and workarounds for widespread processor bugs including the infamous F00F Pentium bug. Other bugs that can't be worked around, such as several AMD K6 bugs, are reported during startup.
Merced hasn't arrived yet and probably isn't immediately forthcoming; however, Linux 2.2 has already been ported to SPARC64, Alpha and other 64-bit platforms, so the infrastructure for a 64-bit native kernel is (happily) already in place. There are, of course, other obstacles that would have to be overcome before Linux/Merced could be released, but having a 64-bit ready kernel is an important step.
Multiple-processor machines will now operate much more efficiently than they did in Linux 2.0, with problems such as the global spinlock removed. Up to 16 processors are supported (the same as with 2.0), but the performance difference should be amazing. Also, there is now greater support for the IO-APIC on Intel boards that will make SMP generally better supported.
In terms of other ports, Linux 2.2 will feature improved support for a large number of “mainframe” machines such as SPARC, SPARC64, ARM and Alpha machines. As for “desktop” machines, Linux 2.2 has been ported to both m68k and PPC flavors of the Macintosh with varying degrees of hardware support. (You can expect that support will only get better as we approach 2.4 or whatever comes next.)
On somewhat of a tangent, there is continuing work to support a subset of the Linux kernel on 8086, 8088, 80186 and 80286 machines. This will not likely be usable in time for 2.2, but is something to look for in the future.
Although somewhat less crucial, Linux 2.2 will support a much larger percentage of the existing x86 computers with the addition of complete support for the Microchannel bus found on some PS/2s and older machines.
In addition to hundreds of minor patches to the bus system, including many new PCI (protocol control information) device names, larger improvements have taken place. PCI, in particular, has undergone several major changes. First, the PCI device reporting interface has been changed and moved to allow for easier addition of new information fields. This particular change doesn't spell much of a difference for an end user, but it makes the lives of developers much easier. Additionally, it is now possible to choose whether you wish to scan your PCI bus using your compatible PCI BIOS or through direct access. This feature allows Linux 2.2 to work on a larger set of machines: several PCI BIOSes were incompatible with the standards and caused booting problems.
Sadly, little kernel support is available for Plug-and-Play ISA devices. While that would be a great addition, a few problems with the currently proposed system will need to be resolved at some time in 2.3. Fortunately, a great user-level utility, isapnp, is available for setting up PnP devices; it requires a tad more work than I'd like, but gets the job done in true Linux fashion.
As far as Linux IDE is concerned, very few obvious changes have been made. The most obvious one is that it is now possible to load and unload the IDE subsystem as a module, just like SCSI. This has the added bonus of allowing use of a PnP-based IDE controller. For less bleeding-edge machines, the updated IDE driver now supports older MFM and RLL disks and controllers without having to load an older version of the driver. Linux 2.2 also has the ability to detect and configure all PCI-based IDE cards automatically, including the activation of DMA bus mastering to reduce CPU overhead and improve performance. Finally, more drivers have been developed for controllers that are buggy or simply different. It is amazing how even excellent things can continue to become better.
Elsewhere in the IDE world, parallel-port IDE devices have become more common, and are for the most part now supported by Linux 2.2. It is a good assumption that many devices currently not supported will be added as 2.2 progresses.
Unfortunately for devices such as rewritable CD-ROMs, there are still instances where you need to use the newly-added SCSI-emulation driver as a kludge for support. I don't like it, but that's the way it is. This limitation may be removed in future versions of the CD-ROM driver, but will likely still be present when 2.2.0 ships.
The SCSI subsystem's main improvement has been the addition of many new drivers for many new cards and chip sets—too many to even begin to name.
The bad news concerns an ongoing effort to support USB (universal serial bus) and USB devices; so far, any progress made in this area has not been included in a Linux 2.1 release. While this could change before the official 2.2 release, it is unlikely that such a large feature would be included this close to release.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Using Salt Stack and Vagrant for Drupal Development
- Validate an E-Mail Address with PHP, the Right Way
- Build a Skype Server for Your Home Phone System
- Why Python?
- Tech Tip: Really Simple HTTP Server with Python
- A Topic for Discussion - Open Source Feature-Richness?
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




1 hour 17 min ago
5 hours 4 min ago
5 hours 12 min ago
7 hours 27 min ago
9 hours 57 min ago
20 hours 1 sec ago
1 day 27 min ago
1 day 4 hours ago
1 day 4 hours ago
1 day 6 hours ago