[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1472674799.2092.19.camel@hpe.com>
Date: Wed, 31 Aug 2016 20:20:48 +0000
From: "Kani, Toshimitsu" <toshi.kani@....com>
To: "ross.zwisler@...ux.intel.com" <ross.zwisler@...ux.intel.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"adilger.kernel@...ger.ca" <adilger.kernel@...ger.ca>,
"viro@...iv.linux.org.uk" <viro@...iv.linux.org.uk>,
"dan.j.williams@...el.com" <dan.j.williams@...el.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"mawilcox@...rosoft.com" <mawilcox@...rosoft.com>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"jack@...e.com" <jack@...e.com>, "tytso@....edu" <tytso@....edu>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>,
"david@...morbit.com" <david@...morbit.com>
Subject: Re: [PATCH v2 0/9] re-enable DAX PMD support
On Tue, 2016-08-30 at 17:01 -0600, Ross Zwisler wrote:
> On Tue, Aug 23, 2016 at 04:04:10PM -0600, Ross Zwisler wrote:
> >
> > DAX PMDs have been disabled since Jan Kara introduced DAX radix
> > tree based locking. This series allows DAX PMDs to participate in
> > the DAX radix tree based locking scheme so that they can be re-
> > enabled.
> >
> > Changes since v1:
> > - PMD entry locking is now done based on the starting offset of
> > the PMD entry, rather than on the radix tree slot which was
> > unreliable. (Jan)
> > - Fixed the one issue I could find with hole punch. As far as I
> > can tell hole punch now works correctly for both PMD and PTE DAX
> > entries, 4k zero pages and huge zero pages.
> > - Fixed the way that ext2 returns the size of holes in
> > ext2_get_block(). (Jan)
> > - Made the 'wait_table' global variable static in respnse to a
> > sparse warning.
> > - Fixed some more inconsitent usage between the names 'ret' and
> > 'entry' for radix tree entry variables.
> >
> > Ross Zwisler (9):
> > ext4: allow DAX writeback for hole punch
> > ext2: tell DAX the size of allocation holes
> > ext4: tell DAX the size of allocation holes
> > dax: remove buffer_size_valid()
> > dax: make 'wait_table' global variable static
> > dax: consistent variable naming for DAX entries
> > dax: coordinate locking for offsets in PMD range
> > dax: re-enable DAX PMD support
> > dax: remove "depends on BROKEN" from FS_DAX_PMD
> >
> > fs/Kconfig | 1 -
> > fs/dax.c | 297 +++++++++++++++++++++++++++++-----------
> > ------------
> > fs/ext2/inode.c | 3 +
> > fs/ext4/inode.c | 7 +-
> > include/linux/dax.h | 29 ++++-
> > mm/filemap.c | 6 +-
> > 6 files changed, 201 insertions(+), 142 deletions(-)
> >
> > --
> > 2.9.0
>
> Ping on this series? Any objections or comments?
Hi Ross,
I am seeing a major performance loss in fio mmap test with this patch-
set applied. This happens with or without my patches [1] applied on
top of yours. Without my patches, dax_pmd_fault() falls back to the
pte handler since an mmap'ed address is not 2MB-aligned.
I have attached three test results.
o rc4.log - 4.8.0-rc4 (base)
o non-pmd.log - 4.8.0-rc4 + your patchset (fall back to pte)
o pmd.log - 4.8.0-rc4 + your patchset + my patchset (use pmd maps)
My test steps are as follows.
mkfs.ext4 -O bigalloc -C 2M /dev/pmem0
mount -o dax /dev/pmem0 /mnt/pmem0
numactl --preferred block:pmem0 --cpunodebind block:pmem0 fio test.fio
"test.fio"
---
[global]
bs=4k
size=2G
directory=/mnt/pmem0
ioengine=mmap
[randrw]
rw=randrw
---
Can you please take a look?
Thanks,
-Toshi
[1] https://lkml.org/lkml/2016/8/29/560
View attachment "non-pmd.log" of type "text/x-log" (2306 bytes)
View attachment "pmd.log" of type "text/x-log" (2306 bytes)
View attachment "rc4.log" of type "text/x-log" (2338 bytes)
Powered by blists - more mailing lists