Re: [PATCH] dax: fix deadlock in __dax_fault

2015-10-02 Thread Jan Kara
On Tue 29-09-15 20:04:21, Ross Zwisler wrote: > On Tue, Sep 29, 2015 at 12:44:58PM +1000, Dave Chinner wrote: > <> > > Already testing a kernel with those reverted. My current DAX patch > > stack is (bottom is first commit in stack): > > > > f672ae4 xfs: add ->pfn_mkwrite support for DAX > > 6855c

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-29 Thread Dave Chinner
On Tue, Sep 29, 2015 at 08:04:21PM -0600, Ross Zwisler wrote: > On Tue, Sep 29, 2015 at 12:44:58PM +1000, Dave Chinner wrote: > <> > > Already testing a kernel with those reverted. My current DAX patch > > stack is (bottom is first commit in stack): > > > > f672ae4 xfs: add ->pfn_mkwrite support f

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-29 Thread Ross Zwisler
On Tue, Sep 29, 2015 at 12:44:58PM +1000, Dave Chinner wrote: <> > Already testing a kernel with those reverted. My current DAX patch > stack is (bottom is first commit in stack): > > f672ae4 xfs: add ->pfn_mkwrite support for DAX > 6855c23 xfs: remove DAX complete_unwritten callback > e074bdf Rev

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-29 Thread Dave Chinner
On Tue, Sep 29, 2015 at 12:44:58PM +1000, Dave Chinner wrote: > On Mon, Sep 28, 2015 at 04:40:01PM -0600, Ross Zwisler wrote: > > > > 4) Test all changes with xfstests using both xfs & ext4, using lockep. > > > > > > > > Did I miss any issues, or does this path not solve one of them somehow? > > >

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dave Chinner
On Mon, Sep 28, 2015 at 08:08:13PM -0700, Dan Williams wrote: > On Mon, Sep 28, 2015 at 7:18 PM, Dave Chinner wrote: > > On Mon, Sep 28, 2015 at 03:57:29PM -0700, Dan Williams wrote: > > I'm concerned with making what we have work before we go and change > > everything. You might want to move real

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dan Williams
On Mon, Sep 28, 2015 at 7:18 PM, Dave Chinner wrote: > On Mon, Sep 28, 2015 at 03:57:29PM -0700, Dan Williams wrote: >> On Mon, Sep 28, 2015 at 2:35 PM, Dave Chinner wrote: >> > On Mon, Sep 28, 2015 at 05:13:50AM -0700, Dan Williams wrote: >> >> On Sun, Sep 27, 2015 at 5:59 PM, Dave Chinner wrot

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dave Chinner
On Mon, Sep 28, 2015 at 04:40:01PM -0600, Ross Zwisler wrote: > On Mon, Sep 28, 2015 at 10:59:04AM +1000, Dave Chinner wrote: > > On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zwisler wrote: > <> > > In reality, the require DAX page fault vs truncate serialisation is > > provided for XFS by the XF

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dave Chinner
On Mon, Sep 28, 2015 at 03:57:29PM -0700, Dan Williams wrote: > On Mon, Sep 28, 2015 at 2:35 PM, Dave Chinner wrote: > > On Mon, Sep 28, 2015 at 05:13:50AM -0700, Dan Williams wrote: > >> On Sun, Sep 27, 2015 at 5:59 PM, Dave Chinner wrote: > >> > On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zw

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dan Williams
On Mon, Sep 28, 2015 at 2:35 PM, Dave Chinner wrote: > On Mon, Sep 28, 2015 at 05:13:50AM -0700, Dan Williams wrote: >> On Sun, Sep 27, 2015 at 5:59 PM, Dave Chinner wrote: >> > On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zwisler wrote: >> >> On Fri, Sep 25, 2015 at 12:53:57PM +1000, Dave Chin

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Ross Zwisler
On Mon, Sep 28, 2015 at 10:59:04AM +1000, Dave Chinner wrote: > On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zwisler wrote: <> > In reality, the require DAX page fault vs truncate serialisation is > provided for XFS by the XFS_MMAPLOCK_* inode locking that is done in > the fault, mkwrite and file

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dave Chinner
On Mon, Sep 28, 2015 at 05:13:50AM -0700, Dan Williams wrote: > On Sun, Sep 27, 2015 at 5:59 PM, Dave Chinner wrote: > > On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zwisler wrote: > >> On Fri, Sep 25, 2015 at 12:53:57PM +1000, Dave Chinner wrote: > [..] > >> Does this sound like a reasonable pa

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dan Williams
On Sun, Sep 27, 2015 at 5:59 PM, Dave Chinner wrote: > On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zwisler wrote: >> On Fri, Sep 25, 2015 at 12:53:57PM +1000, Dave Chinner wrote: [..] >> Does this sound like a reasonable path forward for v4.3? Dave, and Jan, can >> you guys can provide guidanc

Re: Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread kbuild test robot
Hi Dave, [auto build test results on v4.3-rc3 -- if it's inappropriate base, please ignore] config: xtensa-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross

Re: Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread kbuild test robot
Hi Dave, [auto build test results on v4.3-rc3 -- if it's inappropriate base, please ignore] config: mips-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross g

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-28 Thread Dave Chinner
On Mon, Sep 28, 2015 at 10:59:04AM +1000, Dave Chinner wrote: > > Does this sound like a reasonable path forward for v4.3? Dave, and Jan, can > > you guys can provide guidance and code reviews for the XFS and ext4 bits? > > IMO, it's way too much to get into 4.3. I'd much prefer we revert > the b

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-27 Thread Dave Chinner
On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zwisler wrote: > On Fri, Sep 25, 2015 at 12:53:57PM +1000, Dave Chinner wrote: > > I think a bunch of reverts are in order -the code is broken, has > > stale data exposure problems and we're going to have to rip the code > > out anyway because I don't

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-25 Thread Ross Zwisler
On Fri, Sep 25, 2015 at 12:53:57PM +1000, Dave Chinner wrote: > On Thu, Sep 24, 2015 at 09:50:29AM -0600, Ross Zwisler wrote: > > On Thu, Sep 24, 2015 at 12:52:25PM +1000, Dave Chinner wrote: > > > On Wed, Sep 23, 2015 at 02:40:00PM -0600, Ross Zwisler wrote: > > > > Fix the deadlock exposed by xfs

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-25 Thread Dave Chinner
On Fri, Sep 25, 2015 at 12:23:34PM -0600, Ross Zwisler wrote: > On Fri, Sep 25, 2015 at 12:53:57PM +1000, Dave Chinner wrote: > <> > > We've already got block allocation serialisation at the filesystem > > level, and the issue is the unserialised block zeroing being done by > > the dax code. That c

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-25 Thread Ross Zwisler
On Fri, Sep 25, 2015 at 12:53:57PM +1000, Dave Chinner wrote: <> > We've already got block allocation serialisation at the filesystem > level, and the issue is the unserialised block zeroing being done by > the dax code. That can be fixed by moving the zeroing into the > filesystem code when it run

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-24 Thread Dave Chinner
On Thu, Sep 24, 2015 at 09:50:29AM -0600, Ross Zwisler wrote: > On Thu, Sep 24, 2015 at 12:52:25PM +1000, Dave Chinner wrote: > > On Wed, Sep 23, 2015 at 02:40:00PM -0600, Ross Zwisler wrote: > > > Fix the deadlock exposed by xfstests generic/075. Here is the sequence > > > that was causing us to

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-24 Thread Ross Zwisler
On Thu, Sep 24, 2015 at 12:52:25PM +1000, Dave Chinner wrote: > On Wed, Sep 23, 2015 at 02:40:00PM -0600, Ross Zwisler wrote: > > Fix the deadlock exposed by xfstests generic/075. Here is the sequence > > that was causing us to deadlock: > > > > 1) enter __dax_fault() > > 2) page = find_get_page(

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-24 Thread Boaz Harrosh
On 09/24/2015 05:52 AM, Dave Chinner wrote: > On Wed, Sep 23, 2015 at 02:40:00PM -0600, Ross Zwisler wrote: >> Fix the deadlock exposed by xfstests generic/075. Here is the sequence >> that was causing us to deadlock: >> >> 1) enter __dax_fault() >> 2) page = find_get_page() gives us a page, so sk

Re: [PATCH] dax: fix deadlock in __dax_fault

2015-09-23 Thread Dave Chinner
On Wed, Sep 23, 2015 at 02:40:00PM -0600, Ross Zwisler wrote: > Fix the deadlock exposed by xfstests generic/075. Here is the sequence > that was causing us to deadlock: > > 1) enter __dax_fault() > 2) page = find_get_page() gives us a page, so skip > i_mmap_lock_write(mapping) > 3) if (!bu

[PATCH] dax: fix deadlock in __dax_fault

2015-09-23 Thread Ross Zwisler
Fix the deadlock exposed by xfstests generic/075. Here is the sequence that was causing us to deadlock: 1) enter __dax_fault() 2) page = find_get_page() gives us a page, so skip i_mmap_lock_write(mapping) 3) if (!buffer_mapped(&bh) && !buffer_unwritten(&bh) && !vmf->cow_page) pass