From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: linux-kernel@vger.kernel.org,
Alexander Viro <viro@zeniv.linux.org.uk>,
Matthew Wilcox <willy@linux.intel.com>,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Dan Williams <dan.j.williams@intel.com>,
Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
linux-nvdimm@lists.01.org
Subject: Re: [PATCH v2 0/2] Revert locking changes in DAX for v4.3
Date: Sat, 3 Oct 2015 23:24:33 -0600 [thread overview]
Message-ID: <20151004052433.GA10753@linux.intel.com> (raw)
In-Reply-To: <1443830494-8748-1-git-send-email-ross.zwisler@linux.intel.com>
On Fri, Oct 02, 2015 at 06:01:32PM -0600, Ross Zwisler wrote:
> This series reverts some recent changes to the locking scheme in DAX introduced
> by these two commits:
>
> commit 843172978bb9 ("dax: fix race between simultaneous faults")
> commit 46c043ede471 ("mm: take i_mmap_lock in unmap_mapping_range() for DAX")
>
> Changes from v1:
> - Squashed patches 1 and 2 from the first series into a single patch to avoid
> adding another spot in the git history where we could end up referencing an
> uninitialized pointer.
>
> Ross Zwisler (2):
> Revert "mm: take i_mmap_lock in unmap_mapping_range() for DAX"
> Revert "dax: fix race between simultaneous faults"
>
> fs/dax.c | 83 +++++++++++++++++++++++++------------------------------------
> mm/memory.c | 2 ++
> 2 files changed, 36 insertions(+), 49 deletions(-)
>
> --
> 2.1.0
*sigh* - even after these reverts we can deadlock on in the DAX PMD code with
its original locking scheme. I can hit them 100% of the time with either
generic/074 or generic/198 using either XFS or ext4. I'll debug exactly
what's going on on Monday.
The quick and easy workaround for this is to do a "return VM_FAULT_FALLBACK;"
at the beginning of __dax_pmd_fault() to just turn off PMD faults while we
rework the locking for v4.4. This saves us reverting and re-adding all the
PMD code, and will let us ship v4.3 without known deadlocks.
Other better ideas?
- Ross
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: linux-kernel@vger.kernel.org,
Alexander Viro <viro@zeniv.linux.org.uk>,
Matthew Wilcox <willy@linux.intel.com>,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Dan Williams <dan.j.williams@intel.com>,
Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
linux-nvdimm@ml01.01.org
Subject: Re: [PATCH v2 0/2] Revert locking changes in DAX for v4.3
Date: Sat, 3 Oct 2015 23:24:33 -0600 [thread overview]
Message-ID: <20151004052433.GA10753@linux.intel.com> (raw)
In-Reply-To: <1443830494-8748-1-git-send-email-ross.zwisler@linux.intel.com>
On Fri, Oct 02, 2015 at 06:01:32PM -0600, Ross Zwisler wrote:
> This series reverts some recent changes to the locking scheme in DAX introduced
> by these two commits:
>
> commit 843172978bb9 ("dax: fix race between simultaneous faults")
> commit 46c043ede471 ("mm: take i_mmap_lock in unmap_mapping_range() for DAX")
>
> Changes from v1:
> - Squashed patches 1 and 2 from the first series into a single patch to avoid
> adding another spot in the git history where we could end up referencing an
> uninitialized pointer.
>
> Ross Zwisler (2):
> Revert "mm: take i_mmap_lock in unmap_mapping_range() for DAX"
> Revert "dax: fix race between simultaneous faults"
>
> fs/dax.c | 83 +++++++++++++++++++++++++------------------------------------
> mm/memory.c | 2 ++
> 2 files changed, 36 insertions(+), 49 deletions(-)
>
> --
> 2.1.0
*sigh* - even after these reverts we can deadlock on in the DAX PMD code with
its original locking scheme. I can hit them 100% of the time with either
generic/074 or generic/198 using either XFS or ext4. I'll debug exactly
what's going on on Monday.
The quick and easy workaround for this is to do a "return VM_FAULT_FALLBACK;"
at the beginning of __dax_pmd_fault() to just turn off PMD faults while we
rework the locking for v4.4. This saves us reverting and re-adding all the
PMD code, and will let us ship v4.3 without known deadlocks.
Other better ideas?
- Ross
next prev parent reply other threads:[~2015-10-04 5:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-03 0:01 [PATCH v2 0/2] Revert locking changes in DAX for v4.3 Ross Zwisler
2015-10-03 0:01 ` Ross Zwisler
2015-10-03 0:01 ` [PATCH v2 1/2] Revert "mm: take i_mmap_lock in unmap_mapping_range() for DAX" Ross Zwisler
2015-10-03 0:01 ` Ross Zwisler
2015-10-03 0:01 ` [PATCH v2 2/2] Revert "dax: fix race between simultaneous faults" Ross Zwisler
2015-10-03 0:01 ` Ross Zwisler
2015-10-04 5:24 ` Ross Zwisler [this message]
2015-10-04 5:24 ` [PATCH v2 0/2] Revert locking changes in DAX for v4.3 Ross Zwisler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151004052433.GA10753@linux.intel.com \
--to=ross.zwisler@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.com \
--cc=david@fromorbit.com \
--cc=jack@suse.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.