[PATCH 2/3] c/r: Add CR_COPY() macro (v2)

Dan Smith danms at us.ibm.com
Wed Feb 25 14:23:35 PST 2009


NL> No typechecking. 

I think I can make this a little better by doing what Serge suggested:

  sizeof(typeof(a)) != sizeof(typeof(b));

I was focused on the CR_COPY_BIT() variant at the time, so I didn't
think to apply it to CR_COPY.

NL> Generates a memcpy where, depending on the arguments, simple
NL> assignment would be sufficient and preferred.

The implementation that uses these in a common function to copy in
either direction could certainly apply them only where appropriate.
Further, we could have a CR_COPY() and CR_COPY_MULTI() which would use
assignment and memcpy() respectively.

NL> Anyway, checkpoint and restart should not be "symmetric" -- the
NL> restart code has to validate certain values, such as privileged
NL> registers, in the image before committing them.

As Serge (just) said, I think that it makes it pretty clear where the
special cases are.  There's no reason (that I can think of) why you
can't check all of your values before you call the symmetric copy
function during restore.  You've got to check and then copy anyway.

-- 
Dan Smith
IBM Linux Technology Center
email: danms at us.ibm.com



More information about the Containers mailing list