On Sat, Feb 25, 2017 at 09:08:28AM -0800, Dan Williams wrote: > Hi Andrew, > > While Ross was doing a review of a new mmap+DAX direct-I/O test case for > xfstests, from Xiong, he noticed occasions where it failed to trigger a > page dirty event. Dave then spotted the problem fixed by patch1. The > pte_devmap() check is precluding pte_allows_gup(), i.e. bypassing > permission checks and dirty tracking. This mmap-dax-dio case still fails with this patchset, while it makes sense. It's the test case that need to be fixed. BTW, this patchset fixes another xfsrestore issue, which i hit now and then, xfs/301 w/ or wo/ DAX only on nvdimms. xfsrestore never return but killable. Thanks, > > Patch2 is a cleanup and clarifies that pte_unmap() only needs to be done > once per page-worth of ptes. It unifies the exit paths similar to the > generic gup_pte_range() in the __HAVE_ARCH_PTE_SPECIAL case. > > I'm sending this through the -mm tree for a double-check from memory > management folks. It has a build success notification from the kbuild > robot. > > --- > > Dan Williams (2): > x86, mm: fix gup_pte_range() vs DAX mappings > x86, mm: unify exit paths in gup_pte_range() > > > arch/x86/mm/gup.c | 37 +++++++++++++++++++++---------------- > 1 file changed, 21 insertions(+), 16 deletions(-)