Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752864AbdCBNy2 (ORCPT ); Thu, 2 Mar 2017 08:54:28 -0500 Received: from mx1.redhat.com ([209.132.183.28]:58348 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752601AbdCBNyX (ORCPT ); Thu, 2 Mar 2017 08:54:23 -0500 Date: Thu, 2 Mar 2017 21:45:13 +0800 From: Xiong Zhou To: Dan Williams Cc: akpm@linux-foundation.org, x86@kernel.org, Xiong Zhou , Dave Hansen , linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux-mm@kvack.org, Ingo Molnar , "H. Peter Anvin" , Thomas Gleixner , torvalds@linux-foundation.org, Ross Zwisler Subject: Re: [PATCH 0/2] fix for direct-I/O to DAX mappings Message-ID: <20170302134513.zwkfse3j3vjhzy55@XZHOUW.usersys.redhat.com> References: <148804250784.36605.12832323062093584440.stgit@dwillia2-desk3.amr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <148804250784.36605.12832323062093584440.stgit@dwillia2-desk3.amr.corp.intel.com> User-Agent: NeoMutt/20170206-195-7adf12 (1.7.2) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 02 Mar 2017 13:45:15 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1322 Lines: 35 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(-)