On Thu, Oct 19, 2017 at 11:21:26AM -0700, Dan Williams wrote: > The difference is that nvdimm_flush() is not mandatory, and that the > platform will automatically perform the same flush at power-fail. > Applications should be able to assume that if they are using MAP_SYNC > that no other coordination with the kernel or the hypervisor is > necessary. > > Advertising this as a generic Persistent Memory range to the guest > means that the guest could theoretically use it with device-dax where > there is no driver or filesystem sync interface. The hypervisor will > be waiting for flush notifications and the guest will just issue cache > flushes and sfence instructions. So, as far as I can see we need to > differentiate this virtio-model from standard "Persistent Memory" to > the guest and remove the possibility of guests/applications making the > wrong assumption. So add a flag that it is not. We already have the nd_volatile type, that is special. For now only in Linux, but I think adding this type to the spec eventually would be very useful for efficiently exposing directly mappable device to VM guests.