But Linux 4.0’s rebootless patching support limits flexibility for the sake of better performance, backward-compatibility, and ease of use by the kernel programmer, even though the latter is not quite satisfying, as we have discussed: ironically, a “rebootless patch” could result in a crash, defeating the point!
For example, the state transformer might provide the default value for a new field.
Fortunately, the process of finding and updating updated data values is automated.
Facebook’s usage of a modified memcached that supports preserving state across updates.
I’m particularly excited by this announcement because I’ve been working on the general problem of updating running software, which I call (DSU), for nearly 15 years.
Vaughan-Nichols of ZDNet alerted us that Linux 4.0 will provide support for “no-reboot patching.” The gist: When a security patch or other critical OS update comes out, you can apply it .
While rebootless patching is convenient for everyone, it’s a game changer for some applications.
, pioneered by Makris and Bazzi’s Up Stare system, as the most promising approach for user-space programs, owing to its flexibility.
In this approach, the entirety of the new code is loaded into the memory of the running process and then control and data migrations directly update the execution state prior to, or even in conjunction with, subsequent execution that code.
Linux 4.0 DSU support is a far cry from supporting Vaughan-Nichols’ hope that “With Linux 4.0, updates to a program we can make statically we can also make dynamically.