Nobody loves downtime or reboots -- especially not Suse. But the Linux engineers at Suse didn't just sit there and grind their teeth over forced reboots after a kernel patch; they went out and did something about it.
That something was Kgraft, a technology that allows live hotfixes to be applied to the Linux kernel without a reboot . Now Suse's decided to release that technology into the wild as an open source project, under the GPLv3 license.
The core idea behind Kgraft is to take advantage of functionality that already exists in the Linux kernel. An article at Linux.com describes the technique as "[using] an ftrace-like approach to replace whole functions in the Linux kernel with fixed variants." This approach involves modifying the kernel, so one can't apply Kgraft to an existing kernel; the kernel has to be patched with Kgraft beforehand.
But Kigraft also doesn't involve calling the
stop_machine() function, which can have implications for low-latency applications, and it can use the same compilation and linking process as any other kernel addition. A more detailed explanation of the technology is available in this slideshow.
If Kgraft's overall approach sounds familiar, it might well be. A similar technology called Ksplice was once offered by a company of the same name, but it's since been purchased by Oracle and made part of that company's Unbreakable Enterprise Linux offering, with all of the attendant closed-endedness that implies. Oracle has thrown the community a bone by offering Ksplice free for Fedora and Ubuntu users, but development on the open source version of Ksplice has slowed considerably, so things seem ripe for a proper open source contender.
In the long term, Suse hopes Kgraft can be used to take an existing source patch, convert it to a module, then patch the kernel with that module automatically. As things stand right now, the process isn't automated -- a user has to compile the patch manually, since Kgraft can't handle such complicated patches at this stage. It also only works on x86-64 architectures right now, but Suse's engineers are confident it can be moved to other architectures like ARM or IBM Power.
Right now, Suse considers the technology a "functional prototype," not a supported technology, and definitely not something that should be used in a production environment. But Suse's very long term plan is to have the Kgraft technology submitted to the Linux kernel as a standard inclusion so that future Linux kernel patching can be a zero-downtime experience across the board.
This story, "Suse open-sources live updater for Linux kernel," was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter.