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(a)intel.com>
> ...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.