On Thu, May 31, 2018 at 1:19 AM, Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote: > > > On Wed, 30 May 2018, Dan Williams wrote: > >> > Great find! Thanks for the due diligence. Feel free to add: >> > >> > Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> >> > >> > ...on the reworks to unify ARM and x86. >> >> One more note. The side effect of not using dax_flush() is that you >> may end up flushing caches on systems where the platform has asserted >> it will take responsibility for flushing caches at power loss. If / >> when those systems become more prevalent we may want to think of a way >> to combine the non-temporal optimization and the cache-flush-bypass >> optimizations. However that is something that can wait for a later >> change beyond 4.18. > > We could define memcpy_flushpmem, that falls back to memcpy or > memcpy_flushcache, depending on whether the platform flushes the caches at > power loss or not. The problem is that some platforms only power fail protect a subset of the physical address range, but yes, if the platform makes a global assertion we can globally replace memcpy_flushpmem() with plain memcpy. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel