No piece of software is immune to defects, which is why it's important to use tools that help find and fix bugs.
That's the idea with the new Linux 2.6.26 kernel, which is providing the Linux ecosystem with an integrated kernel debugger to help improve the open source operating system.
The 2.6.26 kernel continues the relentless release cycle of Linux kernels adding new features and driver support that help expand the operating system's capabilities.
"The most surprising change was the addition of KGDB after discussions on kernel debuggers had gone on for a while," Dr. Gerald Pfeifer, director of inbound product management at Novell, told InternetNews.com. "This will prove very useful in handling some hard support situations and nicely complements the KDB kernel debugger that Novell has been shipping for years."
KGDB is the new Linux source level debugger and enters the mainline Linux kernel despite the past objections of Linux founder Linus Torvalds. Eight years ago, Torvalds wrote in a Linux Kernel Mailing List (LKML) post: "I don't like debuggers. Never have, probably never will."
Torvalds had argued that not having a kernel debugger forces people to think about their development problems on a different level than with a debugger. In his view, there is a greater degree of understanding about the overall nature of the program and how it operates.
Though Torvalds is still the leader of Linux and the person that releases mainline Linux kernel releases, the effort counts a variety of kernel developers who also get things added like KGDB. A recent study from the Linux Foundation noted that there are over 1,000 developers working on the Linux kernel representing over 100 corporations.
Among those contributing to kernel development is Linux vendor Red Hat. Rik van Riel, senior software engineer at Red Hat told InternetNews.com that for him the KGDB debugger is a key improvement to Linux 2.6.26. As well, van Riel applauded the PAT (Page Attribute Table) feature, which allows for better support of graphics hardware. Novell's Pfeifer explained that PAT support for x86 (define) systems allows for setting memory attributes at page level granularity, which opens more possibilities for further optimizations.