From: Toshi Kani <toshi.kani@hpe.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Matthew Wilcox <willy@linux.intel.com>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
mauricio.porto@hpe.com, Linux MM <linux-mm@kvack.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mm: Fix mmap MAP_POPULATE for DAX pmd mapping
Date: Fri, 04 Dec 2015 09:55:49 -0700 [thread overview]
Message-ID: <1449248149.9855.85.camel@hpe.com> (raw)
In-Reply-To: <CAPcyv4jkGU4FdDKpdsHxgQiHBT+9WdcX1Lp_hTNNWBMZhtXoag@mail.gmail.com>
On Thu, 2015-12-03 at 15:43 -0800, Dan Williams wrote:
> On Wed, Dec 2, 2015 at 1:55 PM, Toshi Kani <toshi.kani@hpe.com> wrote:
> > On Wed, 2015-12-02 at 12:54 -0800, Dan Williams wrote:
> > > On Wed, Dec 2, 2015 at 1:37 PM, Toshi Kani <toshi.kani@hpe.com>
> > > wrote:
> > > > On Wed, 2015-12-02 at 11:57 -0800, Dan Williams wrote:
> > > [..]
> > > > > The whole point of __get_user_page_fast() is to avoid the
> > > > > overhead of taking the mm semaphore to access the vma.
> > > > > _PAGE_SPECIAL simply tells
> > > > > __get_user_pages_fast that it needs to fallback to the
> > > > > __get_user_pages slow path.
> > > >
> > > > I see. Then, I think gup_huge_pmd() can simply return 0 when
> > > > !pfn_valid(), instead of VM_BUG_ON.
> > >
> > > Is pfn_valid() a reliable check? It seems to be based on a max_pfn
> > > per node... what happens when pmem is located below that point. I
> > > haven't been able to convince myself that we won't get false
> > > positives, but maybe I'm missing something.
> >
> > I believe we use the version of pfn_valid() in linux/mmzone.h.
>
> Talking this over with Dave we came to the conclusion that it would be
> safer to be explicit about the pmd not being mapped. He points out
> that unless a platform can guarantee that persistent memory is always
> section aligned we might get false positive pfn_valid() indications.
> Given the get_user_pages_fast() path is arch specific we can simply
> have an arch specific pmd bit and not worry about generically enabling
> a "pmd special" bit for now.
Sounds good to me. Thanks!
-Toshi
--
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: Toshi Kani <toshi.kani@hpe.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Matthew Wilcox <willy@linux.intel.com>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
mauricio.porto@hpe.com, Linux MM <linux-mm@kvack.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mm: Fix mmap MAP_POPULATE for DAX pmd mapping
Date: Fri, 04 Dec 2015 09:55:49 -0700 [thread overview]
Message-ID: <1449248149.9855.85.camel@hpe.com> (raw)
In-Reply-To: <CAPcyv4jkGU4FdDKpdsHxgQiHBT+9WdcX1Lp_hTNNWBMZhtXoag@mail.gmail.com>
On Thu, 2015-12-03 at 15:43 -0800, Dan Williams wrote:
> On Wed, Dec 2, 2015 at 1:55 PM, Toshi Kani <toshi.kani@hpe.com> wrote:
> > On Wed, 2015-12-02 at 12:54 -0800, Dan Williams wrote:
> > > On Wed, Dec 2, 2015 at 1:37 PM, Toshi Kani <toshi.kani@hpe.com>
> > > wrote:
> > > > On Wed, 2015-12-02 at 11:57 -0800, Dan Williams wrote:
> > > [..]
> > > > > The whole point of __get_user_page_fast() is to avoid the
> > > > > overhead of taking the mm semaphore to access the vma.
> > > > > _PAGE_SPECIAL simply tells
> > > > > __get_user_pages_fast that it needs to fallback to the
> > > > > __get_user_pages slow path.
> > > >
> > > > I see. Then, I think gup_huge_pmd() can simply return 0 when
> > > > !pfn_valid(), instead of VM_BUG_ON.
> > >
> > > Is pfn_valid() a reliable check? It seems to be based on a max_pfn
> > > per node... what happens when pmem is located below that point. I
> > > haven't been able to convince myself that we won't get false
> > > positives, but maybe I'm missing something.
> >
> > I believe we use the version of pfn_valid() in linux/mmzone.h.
>
> Talking this over with Dave we came to the conclusion that it would be
> safer to be explicit about the pmd not being mapped. He points out
> that unless a platform can guarantee that persistent memory is always
> section aligned we might get false positive pfn_valid() indications.
> Given the get_user_pages_fast() path is arch specific we can simply
> have an arch specific pmd bit and not worry about generically enabling
> a "pmd special" bit for now.
Sounds good to me. Thanks!
-Toshi
next prev parent reply other threads:[~2015-12-04 16:55 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-23 20:04 [PATCH] mm: Fix mmap MAP_POPULATE for DAX pmd mapping Toshi Kani
2015-11-23 20:04 ` Toshi Kani
2015-11-23 20:53 ` Dan Williams
2015-11-23 20:53 ` Dan Williams
2015-11-23 22:15 ` Toshi Kani
2015-11-23 22:15 ` Toshi Kani
2015-11-30 22:08 ` Dan Williams
2015-11-30 22:08 ` Dan Williams
2015-12-02 2:19 ` Toshi Kani
2015-12-02 2:19 ` Toshi Kani
2015-12-02 3:45 ` Dan Williams
2015-12-02 3:45 ` Dan Williams
2015-12-02 17:43 ` Toshi Kani
2015-12-02 17:43 ` Toshi Kani
2015-12-02 17:01 ` Dan Williams
2015-12-02 17:01 ` Dan Williams
2015-12-02 18:06 ` Dan Williams
2015-12-02 18:06 ` Dan Williams
2015-12-02 19:26 ` Toshi Kani
2015-12-02 19:26 ` Toshi Kani
2015-12-02 19:00 ` Dan Williams
2015-12-02 19:00 ` Dan Williams
2015-12-02 20:02 ` Toshi Kani
2015-12-02 20:02 ` Toshi Kani
2015-12-02 20:12 ` Toshi Kani
2015-12-02 20:12 ` Toshi Kani
2015-12-02 19:57 ` Dan Williams
2015-12-02 19:57 ` Dan Williams
2015-12-02 21:37 ` Toshi Kani
2015-12-02 21:37 ` Toshi Kani
2015-12-02 20:54 ` Dan Williams
2015-12-02 20:54 ` Dan Williams
2015-12-02 21:55 ` Toshi Kani
2015-12-02 21:55 ` Toshi Kani
2015-12-03 23:43 ` Dan Williams
2015-12-03 23:43 ` Dan Williams
2015-12-04 16:55 ` Toshi Kani [this message]
2015-12-04 16:55 ` Toshi Kani
2015-12-02 22:00 ` Dave Hansen
2015-12-02 22:00 ` Dave Hansen
2015-12-02 22:03 ` Dan Williams
2015-12-02 22:03 ` Dan Williams
2015-12-02 22:09 ` Dave Hansen
2015-12-02 22:09 ` Dave Hansen
2015-12-03 0:21 ` Toshi Kani
2015-12-03 0:21 ` Toshi Kani
2015-12-02 23:33 ` Dan Williams
2015-12-02 23:33 ` Dan Williams
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=1449248149.9855.85.camel@hpe.com \
--to=toshi.kani@hpe.com \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.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=mauricio.porto@hpe.com \
--cc=ross.zwisler@linux.intel.com \
--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.