Zack's Kernel News

ReiserFS Locking; How Much Testing Do Patches Need?

Frederic Weisbecker has been working on getting the Big Kernel Lock (BKL) out of ReiserFS. Originally, the ReiserFS changes were part of the overall lot of anti-BKL patches going into the official git tree, but they soon migrated to their own ReiserFS-3-specific tree. The locking mechanism that Frederic has settled on is based on a recursive mutex and is mostly faster than the BKL. In at least one benchmark, however, it performed less well.

An interesting discussion emerged out of Frederic's patches. Andi Kleen pointed out that with all the benchmarking, there were no stress tests included to make sure the code actually behaved appropriately and didn't corrupt data on disk. Especially in the case of filesystems, data integrity tends to be considered sacrosanct. But Ingo Molnar argued that beyond basic due diligence, it wasn't actually necessary to knock oneself out testing patches before submission. Running the gauntlet through linux-next and the -mm tree would produce a far wider range of testing environments than anything a contributor might have available.

Of course, nothing's wrong with using stress test software when it's available. Chris Mason pointed out that the testing script would put ReiserFS through its paces, and Frederic was very happy to do that before sending in the code for further testing.

This seems to be an extension of the new "include early, include often" philosophy indoctrinated when Linus Torvalds decided to discontinue the whole even/odd development style, wherein even-numbered trees like 2.6 would focus on stability, and odd-numbered trees, like the yet-to-be-seen 2.7 tree, would focus on development. Since that decision, the effort to ensure kernel stability has been pushed into a number of different areas, including the 2.6.x.y stable tree that comes out for each official release; the linux-next, -mm, and other specialized trees; and the Linux operating system distributions themselves. Homepage Revamp

Periodically, people complain about the scarcity of links to various key kernel trees on Recently, a bunch of folks asked why the -mm and linux-next trees were not included on the homepage. John Hawley, one of the maintainers, said, "the way kernel trees are placed in the hierarchy has changed from … when the code was first put together. … basically [it's] a complete re-write of the code base at this point." A few weeks later, he announced, "I've pushed out an update that should incorporate the expected trees now; this does eliminate the 2.2 and all but the last 2.4 tree (, but does include all of the stable 2.6.x trees, the snapshots, and linux-next."

Andrew Morton's -mm tree still didn't show up on the main page, and he remarked, "I need to find a way to shove most of -mm into linux-next." So the -mm tree might ultimately be going away in favor of linux-next, and it might not get onto the homepage with the rest of the primary trees.

Strategy for Merging IIO

Developer Jonathan Cameron wanted to get the IIO (Industrial Input/Output) subsystem into the main Linux kernel tree. Cameron asked if getting the IIO code into the staging tree was the best way to go about moving it to the main tree.

The IIO subsystem provides a collection of features for supporting hardware sensors such as gyroscopes, light sensors, and other tools that have a relatively high update frequency.

Greg Kroah-Hartman had no problem accepting the IIO code into the staging tree, but he wanted to see a to-do list that lays out a clear path toward migrating the IIO subsystem from staging to the main kernel code areas.

If all goes well with the promised to-do list and the subsequent discussion, it looks like the Industrial Input/Output subsystem is heading into the main tree sometime in the near future. Anyone porting Linux to the Segway will be happy to hear this.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus