[Info-vax] Reloading device drivers on x86-64 VMS

John Reagan xyzzy1959 at gmail.com
Mon Mar 9 11:00:43 EDT 2015


On Sunday, March 8, 2015 at 7:16:27 PM UTC-4, David Froble wrote:

> 
> Ok, what am I missing here?  Sharable images can be installed, removed, 
> and replaced, right?

If you are going to replace a complete shareable images out from under a running program, you have to syncronize the swap.  While the API might be identical, the internal code will not be.  You don't want to call the "open" from SHR;1 and then the "close" from SHR;2.

There are tricks to do that.  Go Google "live kernel patching linux" and kgraft, etc. Essentially, you compile with "profiling" which causes the compiler to put a call to a profiling routine in each prologue of each routine inside your SHR;1.  You can dynamically slip in a new SHR;2 by overwriting that worthless profiling call in SHR;1 to the new code in SHR;2.  There are techniques to make it thread-safe by updating the instruction bytes in just the right sequence and other techniques to track old vs new internal data structures.  I have some PDFs from various SUSE presentations. 



More information about the Info-vax mailing list