Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1472142
| From | "Kani, Toshimitsu" <toshi.kani@hpe.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings |
| Date | 2016-08-30 00:40 +0200 |
| Message-ID | <sbDnH-4Pc-9@gated-at.bofh.it> (permalink) |
| References | <sbAg9-2S5-3@gated-at.bofh.it> <sbBFg-3H1-17@gated-at.bofh.it> <sbCrD-4co-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
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, but I can include it to this patch series if needed. Thanks, -Toshi
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings Toshi Kani <toshi.kani@hpe.com> - 2016-08-29 21:20 +0200
Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings "Kirill A. Shutemov" <kirill@shutemov.name> - 2016-08-29 22:50 +0200
Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings "Kani, Toshimitsu" <toshi.kani@hpe.com> - 2016-08-29 23:40 +0200
Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings "Kani, Toshimitsu" <toshi.kani@hpe.com> - 2016-08-30 00:40 +0200
Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings "Kirill A. Shutemov" <kirill@shutemov.name> - 2016-09-08 13:00 +0200
Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings "Kani, Toshimitsu" <toshi.kani@hpe.com> - 2016-09-08 15:50 +0200
Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings "Kani, Toshimitsu" <toshi.kani@hpe.com> - 2016-09-09 01:40 +0200
Re: [PATCH v4 RESEND 0/2] Align mmap address for DAX pmd mappings "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2016-09-09 14:40 +0200
csiph-web