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 for example. > As I said in another mail to this thread, applications have started to > 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.