From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Jan Kara <jack@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
"Darrick J. Wong" <darrick.wong@oracle.com>,
Matthew Wilcox <mawilcox@microsoft.com>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
linux-mm@kvack.org, Alexander Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org, Eryu Guan <eguan@redhat.com>,
Christoph Hellwig <hch@lst.de>,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
linux-nvdimm@lists.01.org
Subject: Re: [PATCH 1/2] mm: avoid spurious 'bad pmd' warning messages
Date: Wed, 17 May 2017 12:23:09 -0600 [thread overview]
Message-ID: <20170517182309.GA30704@linux.intel.com> (raw)
In-Reply-To: <9c45c769-2f5e-9327-c39e-1df7744fa633@intel.com>
On Wed, May 17, 2017 at 10:33:58AM -0700, Dave Hansen wrote:
> On 05/17/2017 10:16 AM, Ross Zwisler wrote:
> > @@ -3061,7 +3061,7 @@ static int pte_alloc_one_map(struct vm_fault *vmf)
> > * through an atomic read in C, which is what pmd_trans_unstable()
> > * provides.
> > */
> > - if (pmd_trans_unstable(vmf->pmd) || pmd_devmap(*vmf->pmd))
> > + if (pmd_devmap(*vmf->pmd) || pmd_trans_unstable(vmf->pmd))
> > return VM_FAULT_NOPAGE;
>
> I'm worried we are very unlikely to get this right in the future. It's
> totally not obvious what the ordering requirement is here.
>
> Could we move pmd_devmap() and pmd_trans_unstable() into a helper that
> gets the ordering right and also spells out the ordering requirement?
Sure, I'll fix this for v2.
Thanks for the review.
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
"Darrick J. Wong" <darrick.wong@oracle.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christoph Hellwig <hch@lst.de>,
Dan Williams <dan.j.williams@intel.com>, Jan Kara <jack@suse.cz>,
Matthew Wilcox <mawilcox@microsoft.com>,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
linux-nvdimm@lists.01.org,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
Pawel Lebioda <pawel.lebioda@intel.com>,
Dave Jiang <dave.jiang@intel.com>, Xiong Zhou <xzhou@redhat.com>,
Eryu Guan <eguan@redhat.com>,
stable@vger.kernel.org
Subject: Re: [PATCH 1/2] mm: avoid spurious 'bad pmd' warning messages
Date: Wed, 17 May 2017 12:23:09 -0600 [thread overview]
Message-ID: <20170517182309.GA30704@linux.intel.com> (raw)
In-Reply-To: <9c45c769-2f5e-9327-c39e-1df7744fa633@intel.com>
On Wed, May 17, 2017 at 10:33:58AM -0700, Dave Hansen wrote:
> On 05/17/2017 10:16 AM, Ross Zwisler wrote:
> > @@ -3061,7 +3061,7 @@ static int pte_alloc_one_map(struct vm_fault *vmf)
> > * through an atomic read in C, which is what pmd_trans_unstable()
> > * provides.
> > */
> > - if (pmd_trans_unstable(vmf->pmd) || pmd_devmap(*vmf->pmd))
> > + if (pmd_devmap(*vmf->pmd) || pmd_trans_unstable(vmf->pmd))
> > return VM_FAULT_NOPAGE;
>
> I'm worried we are very unlikely to get this right in the future. It's
> totally not obvious what the ordering requirement is here.
>
> Could we move pmd_devmap() and pmd_trans_unstable() into a helper that
> gets the ordering right and also spells out the ordering requirement?
Sure, I'll fix this for v2.
Thanks for the review.
--
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: Dave Hansen <dave.hansen@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
"Darrick J. Wong" <darrick.wong@oracle.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christoph Hellwig <hch@lst.de>,
Dan Williams <dan.j.williams@intel.com>, Jan Kara <jack@suse.cz>,
Matthew Wilcox <mawilcox@microsoft.com>,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
linux-nvdimm@ml01.01.org,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
Pawel Lebioda <pawel.lebioda@intel.com>,
Dave Jiang <dave.jiang@intel.com>, Xiong Zhou <xzhou@redhat.com>,
Eryu Guan <eguan@redhat.com>,
stable@vger.kernel.org
Subject: Re: [PATCH 1/2] mm: avoid spurious 'bad pmd' warning messages
Date: Wed, 17 May 2017 12:23:09 -0600 [thread overview]
Message-ID: <20170517182309.GA30704@linux.intel.com> (raw)
In-Reply-To: <9c45c769-2f5e-9327-c39e-1df7744fa633@intel.com>
On Wed, May 17, 2017 at 10:33:58AM -0700, Dave Hansen wrote:
> On 05/17/2017 10:16 AM, Ross Zwisler wrote:
> > @@ -3061,7 +3061,7 @@ static int pte_alloc_one_map(struct vm_fault *vmf)
> > * through an atomic read in C, which is what pmd_trans_unstable()
> > * provides.
> > */
> > - if (pmd_trans_unstable(vmf->pmd) || pmd_devmap(*vmf->pmd))
> > + if (pmd_devmap(*vmf->pmd) || pmd_trans_unstable(vmf->pmd))
> > return VM_FAULT_NOPAGE;
>
> I'm worried we are very unlikely to get this right in the future. It's
> totally not obvious what the ordering requirement is here.
>
> Could we move pmd_devmap() and pmd_trans_unstable() into a helper that
> gets the ordering right and also spells out the ordering requirement?
Sure, I'll fix this for v2.
Thanks for the review.
next prev parent reply other threads:[~2017-05-17 18:23 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-17 17:16 [PATCH 1/2] mm: avoid spurious 'bad pmd' warning messages Ross Zwisler
2017-05-17 17:16 ` Ross Zwisler
2017-05-17 17:16 ` Ross Zwisler
2017-05-17 17:16 ` [PATCH 2/2] dax: Fix race between colliding PMD & PTE entries Ross Zwisler
2017-05-17 17:16 ` Ross Zwisler
2017-05-17 17:16 ` Ross Zwisler
2017-05-17 17:17 ` [PATCH] generic: add regression test for DAX PTE/PMD races Ross Zwisler
2017-05-17 17:17 ` Ross Zwisler
2017-05-18 7:50 ` [PATCH 2/2] dax: Fix race between colliding PMD & PTE entries Jan Kara
2017-05-18 7:50 ` Jan Kara
2017-05-18 7:50 ` Jan Kara
2017-05-18 21:29 ` Ross Zwisler
2017-05-18 21:29 ` Ross Zwisler
2017-05-18 21:29 ` Ross Zwisler
2017-05-22 14:37 ` Jan Kara
2017-05-22 14:37 ` Jan Kara
2017-05-22 14:37 ` Jan Kara
2017-05-22 19:44 ` Ross Zwisler
2017-05-22 19:44 ` Ross Zwisler
2017-05-22 14:44 ` Jan Kara
2017-05-22 14:44 ` Jan Kara
2017-05-22 14:44 ` Jan Kara
2017-05-22 19:43 ` Ross Zwisler
2017-05-22 19:43 ` Ross Zwisler
2017-05-22 19:43 ` Ross Zwisler
2017-05-17 17:33 ` [PATCH 1/2] mm: avoid spurious 'bad pmd' warning messages Dave Hansen
2017-05-17 17:33 ` Dave Hansen
2017-05-17 17:33 ` Dave Hansen
2017-05-17 18:23 ` Ross Zwisler [this message]
2017-05-17 18:23 ` Ross Zwisler
2017-05-17 18:23 ` Ross Zwisler
2017-05-22 14:40 ` Jan Kara
2017-05-22 14:40 ` Jan Kara
2017-05-22 14:40 ` Jan Kara
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=20170517182309.GA30704@linux.intel.com \
--to=ross.zwisler@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=darrick.wong@oracle.com \
--cc=dave.hansen@intel.com \
--cc=eguan@redhat.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--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=mawilcox@microsoft.com \
--cc=stable@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
/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.