Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1233111

Re: [PATCH] dax: fix deadlock in __dax_fault

From Dave Chinner <david@fromorbit.com>
Newsgroups linux.kernel
Subject Re: [PATCH] dax: fix deadlock in __dax_fault
Date 2015-09-26 01:40 +0200
Message-ID <qcKKR-7Ra-1@gated-at.bofh.it> (permalink)
References <qbZ9f-6R6-1@gated-at.bofh.it> <qc4Vj-6UV-1@gated-at.bofh.it> <qch6a-7ye-19@gated-at.bofh.it> <qcroS-5rS-9@gated-at.bofh.it> <qcFUR-VU-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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 can be fixed by moving the zeroing into the
> > filesystem code when it runs "complete_unwritten" and checks whether
> > the mapping has already been marked as written or not...
> > 
> > I've recently pointed out in a different thread that this is the
> > solution to whatever that problem was (can't recall which
> > thread/problem is was now :/ ) and it the same solution here. We
> > already have the serialisation we need, we just need to move the
> > block zeroing operation into the appropriate places to make it work
> > correctly.
> 
> I think perhaps this is the thread that you're remembering:
> https://lkml.org/lkml/2015/8/11/731

Ah, yes, the read vs write fault race condition, whereas this change
was to address write vs write fault races. And neither of which
address the fault vs truncate problem properly, either, which is
what the XFS_MMAP_LOCKING addresses.

So, yeah, pushing the block zeroing down to the filesystem gets rid
of multiple problems that concurrent page faults have with
initialisation without adding any more serialisation or overhead.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] dax: fix deadlock in __dax_fault Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-09-23 22:50 +0200
  Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-24 05:00 +0200
    Re: [PATCH] dax: fix deadlock in __dax_fault Boaz Harrosh <boaz@plexistor.com> - 2015-09-24 11:10 +0200
    Re: [PATCH] dax: fix deadlock in __dax_fault Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-09-24 18:00 +0200
      Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-25 05:00 +0200
        Re: [PATCH] dax: fix deadlock in __dax_fault Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-09-25 20:30 +0200
          Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-26 01:40 +0200
        Re: [PATCH] dax: fix deadlock in __dax_fault Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-09-26 05:20 +0200
          Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-28 03:00 +0200
            Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-28 12:20 +0200
            Re: [PATCH] dax: fix deadlock in __dax_fault Dan Williams <dan.j.williams@intel.com> - 2015-09-28 14:20 +0200
              Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-28 23:40 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Dan Williams <dan.j.williams@intel.com> - 2015-09-29 01:00 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-29 04:20 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Dan Williams <dan.j.williams@intel.com> - 2015-09-29 05:10 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-29 06:20 +0200
            Re: [PATCH] dax: fix deadlock in __dax_fault Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-09-29 00:50 +0200
              Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-29 04:50 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-30 04:00 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-09-30 04:10 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Dave Chinner <david@fromorbit.com> - 2015-09-30 05:30 +0200
                Re: [PATCH] dax: fix deadlock in __dax_fault Jan Kara <jack@suse.cz> - 2015-10-02 15:00 +0200

csiph-web