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

Best Websites For Programmers

As a programmer, you will often find yourself as a permanent visitor of some websites. These can be tutorial, reference or forums websites. So here in this article let us have a look at the best websites for programmers. Read
more

How To Install Kali Linux In Android Phone

Thanks to the Linux deployment team now the great wall separating android users from kali has weakened and fallen. It has been a long journey integrating Linux system on advanced RISC machine devices. It started with Ubuntu and now we have a Kali version that can run on your android device. Isn't that great? Great indeed. Read
more

Zuul: Proven open-source continuous integration/continuous delivery

If you think Zuul is the Gatekeeper, demigod, and minion of the ancient Hittite god Gozer, then you're a Ghostbusters fan, too. But, if you're interested in continuous integration/continuous delivery (CI/CD) and not "human sacrifice, dogs, and cats living together... mass hysteria," then you want Zuul, OpenStack's open-source CI/CD platform. Zuul originally was developed for OpenStack CI testing. For years, OpenStack, the Infrastructure-as-a-Service (IaaS) cloud, got all the attention. Over time, people began to realize that as impressive as OpenStack was, the CI system behind it, which enabled contributors and users across many different organizations to work and develop quickly together across multiple projects, was impressive in its own right. Read more

Smallest RK3399 hacker board yet ships at $129 with 4GB DDR4

FriendlyElec has launched a 100 x 64mm, $129 “NanoPC-T4” SBC that runs Android or Linux on a Rockchip RK3399 with 4G DDR4, native GbE, WiFi-ac, DP, HDMI 2.0, 0 to 80℃ support, and M.2 and 40-pin expansion. FriendlyElec has released its most powerful and priciest hacker board to date, which it promotes as being the smallest RK3399-based SBC on the market. The 100 x 64mm NanoPC-T4 opens with a $129 discount price with the default 4GB DDR4 and 16GB eMMC. Although that will likely rise in the coming months, it’s still priced in the middle range of open spec RK3399 SBCs. Read more