Re: [PATCH v2 0/9] re-enable DAX PMD support

From: Kani, Toshimitsu
Date: Wed Aug 31 2016 - 18:09:25 EST


On Wed, 2016-08-31 at 15:36 -0600, Ross Zwisler wrote:
> On Wed, Aug 31, 2016 at 08:20:48PM +0000, Kani, Toshimitsu wrote:
> >
> > 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:
Â:
> > >
> > > 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?
>
> Yep, thanks for the report.

I have some more observations. ÂIt seems this issue is related with pmd
mappings after all. Âfio creates "randrw.0.0" file. ÂIn my setup, an
initial test run creates pmd mappings and hits this issue. ÂSubsequent
test runs (i.e. randrw.0.0 exists), without my patches, fall back to
pte mappings and do not hit this issue. ÂWith my patches applied,
subsequent runs still create pmd mappings and hit this issue.

Thanks,
-Toshi Â