On Tue, Oct 02, 2018 at 05:01:24PM +0200, Johannes Thumshirn wrote:
On Tue, Oct 02, 2018 at 07:45:47AM -0700, Christoph Hellwig wrote:
> How does an application "make use of DAX"? What actual user visible
> semantics are associated with a file that has this flag set?
There may not be any user visible semantics of DAX, but there are
promises we gave to application developers praising DAX as _the_
method to map data on persistent memory and get around "the penalty of
the page cache" (however big this is).
Who is "we"? As someone involved with DAX code I think it is a steaming
pile of *****, and we are still looking for cases where it actually
works without bugs. That's why the experimental tag still is on it
As I said in another mail to this thread, applications have started
poke in procfs to see whether they can use DAX or not.
And what are they actually doing with that?
Party A has promised party B
We have never promised anyone anything.
So technically e1fb4a086495 is a user visible regression and in the
past we have reverted patches introducing these, even if the patch is
generally correct and poking in /proc/self/smaps is a bad idea.
What actually stops working here and why? If some stupid app doesn't work
without mixedmap and we want to apply the don't break userspace mantra
hard we should just always expose it.
I just wanted to give them a documented way to check for this
promise. Being neutral if this promise is right or wrong, good or bad,
or whatever. That's not my call, but I prefer not having angry users,
yelling at me because of broken applications.
There is no promise, sorry.