[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