[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
Re: hot patching
Pratap Chakravarthy wrote (pratap.chakravarthy@xxxxxxxxx):
> Can you please tell me the feasibility of hot patching in an operating
> system like linux and if possible please provide me with any details or
> pointers on that. I saw in the sun's web site that they have provided
> hot patching in their solaris 8. How far it is reliable.
Reliability of hot patching is questionable. I've seen solaris "panic" after a
hotpatch. I would not hotfix a busy running system, planned downtime sounds
safer. But that does not mean that hot patching is a bad idea anyway.
> what is hot patching ?
> It is nothing but replacing a function present in the memory "on fly".In
> usual cases suppose there is a bug in the kernel code, that bug has to be
> removed and then compiled and linked to get the image [kernel image],which
> is then booted. Here in hot patching the debuged function has to be
> compiled. Then it is linked with the kernel without rebooting the system,
> on the fly.
> I dont know whether this facility is really required for linux. But for any
> OS developer, this tool is a required one.
Possible solutions for an OS developer who does not want to reboot -
* Whenever possible, compile your code as a kernel module. You can load/unload
your code without rebooting.
* Run/debug the kernel you're developing in user mode. See "use mode linux".
* Rewrite the linux kernel in erlang (just kidding...)
The closest linux ever came to restarting without rebooting (in the
Ctrl+Alt+Del sense) was with the "two kernel monte". This invloves restarting
with a new kernel without rebooting the machine.
Note: You will kill all processes as a result, so this is probably not what
Due to its modular design, hotpatching is easier with micro-kernel
implementations like the Hurd. Even then, there may be seveal bugs which
cannot be hotpatched.