Language Selection

English French German Italian Portuguese Spanish

Kernel space: Bisection divides users and developers

Filed under
Linux

The last couple of years have seen a renewed push within the kernel community to avoid regressions. When a patch is found to have broken something that used to work, a fix must be merged or the offending patch will be removed from the kernel. It's a straightforward and logical idea, but there's one little problem: when a kernel series includes over 12,000 changesets (as 2.6.25 does), how does one find the patch which caused the problem? Sometimes it will be obvious, but, for other problems, there are literally thousands of patches which could be the source of the regression. Digging through all of those patches in search of a bug can be a needle-in-the-haystack sort of proposition.

One of the many nice tools offered by the git source code management system is called "bisect." The bisect feature helps the user perform a binary search through a range of patches until the one containing the bug is found. All that is needed is to specify the most recent kernel which is known to work (2.6.24, say), and the oldest kernel which is broken (2.6.25-rc9, perhaps), and the bisect feature will check out a version of the kernel at the midpoint between those two. Finding that midpoint is non-trivial, since, in git, the stream of patches is not a simple line. But that's the sort of task we keep computers around for. Once the midpoint kernel has been generated, the person chasing the bug can build and test it, then tell git whether it exhibits the bug or not. A kernel at the new midpoint will be produced, and the process continues. With bisect, the problematic patch can be found in a maximum of a dozen or so compile-boot-test cycles.

Bisect is not a perfect tool.




More in Tux Machines

The Companies That Support Linux: MariaDB

MariaDB Corporation is a provider of open source database solutions for SaaS, cloud and on-premise applications that require high availability, scalability, and performance. Built by the founder and core engineering team behind MySQL, MariaDB has more than 2 million users globally and over 500 customers in more than 45 countries -- most of whom are running Linux. Read more

UK health service nurtures open source communities

The UK’s National Health Service (NHS) is nurturing a growing number of communities of software developers working on open source solutions. NHS’ Code4Health team is now supporting 17 communities that bring together health care providers, developers and supporters. Read more

LG's got a flip phone that runs Android Lollipop

Flip phones aren't just for retro hipsters and the elderly anymore... well, actually they kind of are. But they're super popular in Asia, and now you can get one that'll run the latest apps: LG's Gentle flip phone. The faux-leather adorned device is running a bleeding edge version of Android 5.1 Lollipop and packing 4G LTE. Otherwise, it's not exactly a power-user's dream with a 3.2-inch 480 x 320 screen, 3-megapixel rear camera, 4GB of (expandable) storage and 1GB of RAM. But for just 20 million won ($175) it would make a fine second phone, provided you live in Korea -- it's unlikely to come here, and similar flip phones can be pricey to import. Read more

Next-gen Android One phone launches in India for $176

The Lava Pixel V1 offers a solid value for the price, combining mid-range hardware with the latest Android software updates from Google. Read more