Language Selection

English French German Italian Portuguese Spanish

Kernel space: Bisection divides users and developers

Filed under

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

Games: Valve, Modernisation in Google Summer of Code, Trigger Happy Havoc

  • Valve's Latest Steam Client Adds 2X-Scaling Mode on Linux, HiDPI on Windows 10
    Valve released today a new Steam Client stable update for all supported platforms, including GNU/Linux, macOS, and Windows, bringing long-anticipated features and improvements, along with numerous bug fixes.
  • Modernization of games
    This year I have proposed a Google Summer of Code idea (we are in student applications period) for modernizing Five-or-More, a game left out from the last games modernization round, when most of the games have been ported to Vala.
  • Trigger Happy Havoc Might Just Be The Weirdest Game on Linux
    With a special developer GDC viewing party tomorrow, I wanted to get us up to speed on the insanity that is Trigger Happy Havoc right now. I’m gonna level with you. My first impression of Spike Chunsoft’s offering, based on the trailer, was a tall glass of double checking reality garnished with a sprig of WTF.

Red Hat and Fedora

Android Leftovers

Raspberry Pi 3 Model B+ Benchmarks

Last week on Pi Day marked the release of the Raspberry Pi 3 Model B+ with a slightly higher clocked Cortex-A53 processors, dual-band 802.11ac WiFi, faster Ethernet, and other minor enhancements over its predecessor. I've been spending the past few days putting the Raspberry Pi 3 Model B+ through its paces the past few days with an array of benchmarks while comparing the performance to other ARM SBCs as well as a few lower-end Intel x86 systems too. Here is all you need to know about the Raspberry Pi 3 B+ performance. Read more