Torvalds' modus operandi
This is the result of Linus Torvalds' emphatically maintained modus operandi: changes merged into new kernel versions should not trigger problems which were not present in previous kernel versions. Where regressions of this type are spotted in time, they will, where possible, be revoked by the kernel development team. Torvalds is extremely strict in this respect, and the policy has certainly protected many users from problems – and meant unwelcome extra work for some kernel developers. In the case of RC6, the situation is not quite as clear cut. Deactivating the power saving feature by default may have pleased the odd user who was experiencing problems with the technology, but many users with hardware on which RC6 was working correctly in 2.6.38 are likely to view the increased power consumption in 3.0 and 3.1 as a bug or as a regression.
For kernel developers, weighing up the pros and cons is not straightforward. It is not clear how many systems would exhibit problems with the current Linux code if RC6 were once again to be activated by default. The possibility that hardware defects are responsible for the problems reported by users and which have led to RC6's deactivation can't be ruled out. It is also possible that affected systems are suffering from a BIOS or hardware design error.
The kernel and driver developers have nonetheless set about tackling the problem – they have programmed temporary fixes and are working on solutions aimed at keeping all users satisfied. The Linux distributions are proving relatively sanguine about the problem, though, from articles in online media outlets and reports in the bug database, they are fully aware that power saving potential is going untapped.
For distributors, developing and integrating a small application to check whether a system supports RC6 would be a simple matter. If a system supports RC6, a pop-up query or similar function could be used to offer the user the option of adding a menu entry to the boot manager, enabling them to use RC6 on a test basis. Once everything had been working smoothly for several days, the application could then allow RC6 to be activated by default. It could then report back on whether RC6 was working properly and kernel, driver and distribution developers could use this information to find a definitive solution to the problem.
This would require some user cooperation, but users willing to help out with this sort of thing are not exactly hard to find in the Linux community. And RC6 is not the only power-saving feature disabled by default in order to spare users potential problems – power-saving features available in audio codecs remain unused in many Linux distributions as they have been reported to cause crackling sounds on some laptops when the chips sleep or wake. The ASPM problem also remains unresolved. A cross-distribution tool such as that sketched out above could help find the causes of and resolve some of these problems. Such a tool would allow a blacklist of problem devices to be drawn up, so that other systems at least could benefit from reduced power consumption.