From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: "Kani, Toshimitsu" <toshi.kani@hpe.com>
Cc: "hughd@google.com" <hughd@google.com>,
"kirill.shutemov@linux.intel.com"
<kirill.shutemov@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"adilger.kernel@dilger.ca" <adilger.kernel@dilger.ca>,
"mike.kravetz@oracle.com" <mike.kravetz@oracle.com>,
"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
"mawilcox@microsoft.com" <mawilcox@microsoft.com>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"ross.zwisler@linux.intel.com" <ross.zwisler@linux.intel.com>,
"tytso@mit.edu" <tytso@mit.edu>,
"david@fromorbit.com" <david@fromorbit.com>,
"jack@suse.cz" <jack@suse.cz>
Subject: Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings
Date: Thu, 8 Sep 2016 13:57:07 +0300 [thread overview]
Message-ID: <20160908105707.GA17331@node> (raw)
In-Reply-To: <1472508000.1532.59.camel@hpe.com>
On Mon, Aug 29, 2016 at 10:00:43PM +0000, Kani, Toshimitsu wrote:
> On Mon, 2016-08-29 at 15:31 -0600, Kani, Toshimitsu wrote:
> > On Mon, 2016-08-29 at 23:48 +0300, Kirill A. Shutemov wrote:
> > >
> > > On Mon, Aug 29, 2016 at 01:11:19PM -0600, Toshi Kani wrote:
> > > >
> > > >
> > > > When CONFIG_FS_DAX_PMD is set, DAX supports mmap() using pmd page
> > > > size.��This feature relies on both mmap virtual address and FS
> > > > block (i.e. physical address) to be aligned by the pmd page size.
> > > > Users can use mkfs options to specify FS to align block
> > > > allocations. However, aligning mmap address requires code changes
> > > > to existing applications for providing a pmd-aligned address to
> > > > mmap().
> > > >
> > > > For instance, fio with "ioengine=mmap" performs I/Os with mmap()
> > > > [1]. It calls mmap() with a NULL address, which needs to be
> > > > changed to provide a pmd-aligned address for testing with DAX pmd
> > > > mappings. Changing all applications that call mmap() with NULL is
> > > > undesirable.
> > > >
> > > > This patch-set extends filesystems to align an mmap address for
> > > > a DAX file so that unmodified applications can use DAX pmd
> > > > mappings.
> > >
> > > +Hugh
> > >
> > > Can we get it used for shmem/tmpfs too?
> > > I don't think we should duplicate essentially the same
> > > functionality in multiple places.
> >
> > Here is my brief analysis when I had looked at the Hugh's patch last
> > time (before�shmem_get_unmapped_area() was accepted).
> > https://patchwork.kernel.org/patch/8916741/
> >
> > Besides some differences in the logic, ex. shmem_get_unmapped_area()
> > always calls�current->mm->get_unmapped_area twice, yes, they
> > basically provide the same functionality.
> >
> > I think one issue is that shmem_get_unmapped_area() checks with its
> > static flag 'shmem_huge', and additinally deals with SHMEM_HUGE_DENY
> > and�SHMEM_HUGE_FORCE cases. �It also handles non-file case for
> > !SHMEM_HUGE_FORCE.
>
> Looking further, these shmem_huge handlings only check pre-conditions.
> �So, we should be able to make shmem_get_unmapped_area() as a wrapper,
> which checks such shmem-specific conitions, and then
> call�__thp_get_unmapped_area() for the actual work. �All DAX-specific
> checks are performed in thp_get_unmapped_area() as well. �We can make
> �__thp_get_unmapped_area() as a common function.
>
> I'd prefer to make such change as a separate item,
Do you have plan to submit such change?
--
Kirill A. Shutemov
--
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: "Kirill A. Shutemov" <kirill@shutemov.name>
To: "Kani, Toshimitsu" <toshi.kani@hpe.com>
Cc: "hughd@google.com" <hughd@google.com>,
"kirill.shutemov@linux.intel.com"
<kirill.shutemov@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"adilger.kernel@dilger.ca" <adilger.kernel@dilger.ca>,
"mike.kravetz@oracle.com" <mike.kravetz@oracle.com>,
"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
"mawilcox@microsoft.com" <mawilcox@microsoft.com>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"ross.zwisler@linux.intel.com" <ross.zwisler@linux.intel.com>,
"tytso@mit.edu" <tytso@mit.edu>,
"david@fromorbit.com" <david@fromorbit.com>,
"jack@suse.cz" <jack@suse.cz>
Subject: Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings
Date: Thu, 8 Sep 2016 13:57:07 +0300 [thread overview]
Message-ID: <20160908105707.GA17331@node> (raw)
In-Reply-To: <1472508000.1532.59.camel@hpe.com>
On Mon, Aug 29, 2016 at 10:00:43PM +0000, Kani, Toshimitsu wrote:
> On Mon, 2016-08-29 at 15:31 -0600, Kani, Toshimitsu wrote:
> > On Mon, 2016-08-29 at 23:48 +0300, Kirill A. Shutemov wrote:
> > >
> > > On Mon, Aug 29, 2016 at 01:11:19PM -0600, Toshi Kani wrote:
> > > >
> > > >
> > > > When CONFIG_FS_DAX_PMD is set, DAX supports mmap() using pmd page
> > > > size. This feature relies on both mmap virtual address and FS
> > > > block (i.e. physical address) to be aligned by the pmd page size.
> > > > Users can use mkfs options to specify FS to align block
> > > > allocations. However, aligning mmap address requires code changes
> > > > to existing applications for providing a pmd-aligned address to
> > > > mmap().
> > > >
> > > > For instance, fio with "ioengine=mmap" performs I/Os with mmap()
> > > > [1]. It calls mmap() with a NULL address, which needs to be
> > > > changed to provide a pmd-aligned address for testing with DAX pmd
> > > > mappings. Changing all applications that call mmap() with NULL is
> > > > undesirable.
> > > >
> > > > This patch-set extends filesystems to align an mmap address for
> > > > a DAX file so that unmodified applications can use DAX pmd
> > > > mappings.
> > >
> > > +Hugh
> > >
> > > Can we get it used for shmem/tmpfs too?
> > > I don't think we should duplicate essentially the same
> > > functionality in multiple places.
> >
> > Here is my brief analysis when I had looked at the Hugh's patch last
> > time (before shmem_get_unmapped_area() was accepted).
> > https://patchwork.kernel.org/patch/8916741/
> >
> > Besides some differences in the logic, ex. shmem_get_unmapped_area()
> > always calls current->mm->get_unmapped_area twice, yes, they
> > basically provide the same functionality.
> >
> > I think one issue is that shmem_get_unmapped_area() checks with its
> > static flag 'shmem_huge', and additinally deals with SHMEM_HUGE_DENY
> > and SHMEM_HUGE_FORCE cases. It also handles non-file case for
> > !SHMEM_HUGE_FORCE.
>
> Looking further, these shmem_huge handlings only check pre-conditions.
> So, we should be able to make shmem_get_unmapped_area() as a wrapper,
> which checks such shmem-specific conitions, and then
> call __thp_get_unmapped_area() for the actual work. All DAX-specific
> checks are performed in thp_get_unmapped_area() as well. We can make
> __thp_get_unmapped_area() as a common function.
>
> I'd prefer to make such change as a separate item,
Do you have plan to submit such change?
--
Kirill A. Shutemov
--
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: "Kirill A. Shutemov" <kirill@shutemov.name>
To: "Kani, Toshimitsu" <toshi.kani@hpe.com>
Cc: "hughd@google.com" <hughd@google.com>,
"kirill.shutemov@linux.intel.com"
<kirill.shutemov@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"adilger.kernel@dilger.ca" <adilger.kernel@dilger.ca>,
"mike.kravetz@oracle.com" <mike.kravetz@oracle.com>,
"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
"mawilcox@microsoft.com" <mawilcox@microsoft.com>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"ross.zwisler@linux.intel.com" <ross.zwisler@linux.intel.com>,
"tytso@mit.edu" <tytso@mit.edu>,
"david@fromorbit.com" <david@fromorbit.com>,
"jack@suse.cz" <jack@suse.cz>
Subject: Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings
Date: Thu, 8 Sep 2016 13:57:07 +0300 [thread overview]
Message-ID: <20160908105707.GA17331@node> (raw)
In-Reply-To: <1472508000.1532.59.camel@hpe.com>
On Mon, Aug 29, 2016 at 10:00:43PM +0000, Kani, Toshimitsu wrote:
> On Mon, 2016-08-29 at 15:31 -0600, Kani, Toshimitsu wrote:
> > On Mon, 2016-08-29 at 23:48 +0300, Kirill A. Shutemov wrote:
> > >
> > > On Mon, Aug 29, 2016 at 01:11:19PM -0600, Toshi Kani wrote:
> > > >
> > > >
> > > > When CONFIG_FS_DAX_PMD is set, DAX supports mmap() using pmd page
> > > > size. This feature relies on both mmap virtual address and FS
> > > > block (i.e. physical address) to be aligned by the pmd page size.
> > > > Users can use mkfs options to specify FS to align block
> > > > allocations. However, aligning mmap address requires code changes
> > > > to existing applications for providing a pmd-aligned address to
> > > > mmap().
> > > >
> > > > For instance, fio with "ioengine=mmap" performs I/Os with mmap()
> > > > [1]. It calls mmap() with a NULL address, which needs to be
> > > > changed to provide a pmd-aligned address for testing with DAX pmd
> > > > mappings. Changing all applications that call mmap() with NULL is
> > > > undesirable.
> > > >
> > > > This patch-set extends filesystems to align an mmap address for
> > > > a DAX file so that unmodified applications can use DAX pmd
> > > > mappings.
> > >
> > > +Hugh
> > >
> > > Can we get it used for shmem/tmpfs too?
> > > I don't think we should duplicate essentially the same
> > > functionality in multiple places.
> >
> > Here is my brief analysis when I had looked at the Hugh's patch last
> > time (before shmem_get_unmapped_area() was accepted).
> > https://patchwork.kernel.org/patch/8916741/
> >
> > Besides some differences in the logic, ex. shmem_get_unmapped_area()
> > always calls current->mm->get_unmapped_area twice, yes, they
> > basically provide the same functionality.
> >
> > I think one issue is that shmem_get_unmapped_area() checks with its
> > static flag 'shmem_huge', and additinally deals with SHMEM_HUGE_DENY
> > and SHMEM_HUGE_FORCE cases. It also handles non-file case for
> > !SHMEM_HUGE_FORCE.
>
> Looking further, these shmem_huge handlings only check pre-conditions.
> So, we should be able to make shmem_get_unmapped_area() as a wrapper,
> which checks such shmem-specific conitions, and then
> call __thp_get_unmapped_area() for the actual work. All DAX-specific
> checks are performed in thp_get_unmapped_area() as well. We can make
> __thp_get_unmapped_area() as a common function.
>
> I'd prefer to make such change as a separate item,
Do you have plan to submit such change?
--
Kirill A. Shutemov
next prev parent reply other threads:[~2016-09-08 10:57 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-29 19:11 [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings Toshi Kani
2016-08-29 19:11 ` Toshi Kani
2016-08-29 19:11 ` Toshi Kani
2016-08-29 19:11 ` [PATCH v4 RESEND 1/2] thp, dax: add thp_get_unmapped_area for " Toshi Kani
2016-08-29 19:11 ` Toshi Kani
2016-08-29 19:11 ` Toshi Kani
2016-08-29 19:34 ` Dan Williams
2016-08-29 19:34 ` Dan Williams
2016-08-29 19:34 ` Dan Williams
2016-08-29 20:44 ` Kani, Toshimitsu
2016-08-29 20:44 ` Kani, Toshimitsu
2016-08-29 20:44 ` Kani, Toshimitsu
2016-08-29 20:54 ` Dan Williams
2016-08-29 20:54 ` Dan Williams
2016-08-29 20:54 ` Dan Williams
2016-08-29 19:11 ` [PATCH v4 RESEND 2/2] ext2/4, xfs: call thp_get_unmapped_area() " Toshi Kani
2016-08-29 19:11 ` Toshi Kani
2016-08-29 19:11 ` Toshi Kani
2016-08-29 20:48 ` [PATCH v4 RESEND 0/2] Align mmap address for DAX " Kirill A. Shutemov
2016-08-29 20:48 ` Kirill A. Shutemov
2016-08-29 20:48 ` Kirill A. Shutemov
2016-08-29 21:32 ` Kani, Toshimitsu
2016-08-29 21:32 ` Kani, Toshimitsu
2016-08-29 21:32 ` Kani, Toshimitsu
2016-08-29 22:00 ` Kani, Toshimitsu
2016-08-29 22:00 ` Kani, Toshimitsu
2016-08-29 22:00 ` Kani, Toshimitsu
2016-09-08 10:57 ` Kirill A. Shutemov [this message]
2016-09-08 10:57 ` Kirill A. Shutemov
2016-09-08 10:57 ` Kirill A. Shutemov
2016-09-08 13:49 ` Kani, Toshimitsu
2016-09-08 13:49 ` Kani, Toshimitsu
2016-09-08 13:49 ` Kani, Toshimitsu
2016-09-08 23:21 ` Kani, Toshimitsu
2016-09-08 23:21 ` Kani, Toshimitsu
2016-09-08 23:21 ` Kani, Toshimitsu
2016-09-09 12:36 ` Kirill A. Shutemov
2016-09-09 12:36 ` Kirill A. Shutemov
2016-09-09 12:36 ` Kirill A. Shutemov
2016-09-09 17:21 ` Kani, Toshimitsu
2016-09-09 17:21 ` Kani, Toshimitsu
2016-09-09 17:21 ` Kani, Toshimitsu
2016-09-09 18:37 ` Kirill A. Shutemov
2016-09-09 18:37 ` Kirill A. Shutemov
2016-09-09 18:37 ` Kirill A. Shutemov
2016-09-09 18:37 ` Kirill A. Shutemov
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=20160908105707.GA17331@node \
--to=kirill@shutemov.name \
--cc=adilger.kernel@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.com \
--cc=david@fromorbit.com \
--cc=hughd@google.com \
--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=mike.kravetz@oracle.com \
--cc=ross.zwisler@linux.intel.com \
--cc=toshi.kani@hpe.com \
--cc=tytso@mit.edu \
/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.