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

Linux on the desktop is so hot there's now a fight over it

Citrix has made good on its April promise to deliver virtual Linux desktops, today announcing it's ready to roll out penguin-powered pretend PCs. The company snuck the penguin-powered desktops into Feature Pack 2 for XenApp and XenDesktop 7.6. For now, Citrix says says you can choose from Red Hat Enterprise Linux 6.6 Workstation and Server, or SUSE Linux Enterprise Desktop and Server 11 Service Pack 3, the two distros the company says its customers have asked for the most. Read more Also: Citrix: Linux Virtual Desktop released with XenApp and XenDesktop 7.6 FP2

Containers

  • Containers change the game
    The industry is excited about containers in application development, and it will yield significant value in the application-centric cloud
  • IBM Rolls Out Docker-Based Container Services
    IBM has introduced enterprise-class containers to make it easier for clients to deliver production applications across their hybrid environments.

Red Hat

An Introduction to Linux Containers

Linux container technology is the latest computing trend sweeping the computing world. A lot of financial and technical investors, Linux software programmers, and customers are betting that containers will change the way businesses manage their computer systems—from deployment to maintenance. Container technology has become its own ecosystem with no less than 60 companies supporting some aspect of the technology. But what exactly are Linux containers, and how can they help you? Read more