David Gilbert previously suggested a memory access interface. I guess it would look something like this:
typedef struct { void (*memset)(void *s, int c, size_t n); void (*memcpy)(void *dest, const void *src, size_t n); } MemoryOperations; That way code doesn't need if (pmem) A else B. It can just do mem_ops->foo(). Have you looked into this idea? Also, there was a discussion about leaving the code unchanged but adding an nvdimm_flush() call at the very end of migration. I think someone benchmarked it but can't find the email. Please post a link or summarize the results, because that approach would be much less invasive. Thanks! Stefan
signature.asc
Description: PGP signature