On Wed, Mar 8, 2017 at 12:36 PM, Jeff Moyer <[email protected]> wrote:
> Hi,
>
> With a device dax alignment of 4KB or 2MB, I get sigbus when running the
> attached fio job file for the current kernel (4.11.0-rc1+).  If I
> specify an alignment of 1GB, it works.
>
> I turned on debug output, and saw that it was failing in the huge fault
> code.
>
> [ 4614.138357] dax dax1.0: dax_open
> [ 4614.154838] dax dax1.0: dax_mmap
> [ 4614.171898] dax dax1.0: dax_dev_huge_fault: fio: write (0x7f08f0a00000 - 
> 0x7f0ce0800000)
> [ 4614.211720] dax dax1.0: __dax_dev_pud_fault: 
> phys_to_pgoff(0xffffffffcf600) failed
> [ 4614.568911] dax dax1.0: dax_release
>
> Note that the printk is backwards: it's not phys_to_pgoff but rather
> pgoff_to_phys that fails.
>
> I don't have time to dig into this right now, so I figured I'd report it
> in case others do.
>
> This does make me wonder how much testing device dax receives.  I tried
> 3 different kernels (a 4.10-rc, this one, and then a version just before
> the huge page support went in) and they all broke in different ways.
> This test is pretty simple.  Dan, can we add it to whatever regression
> tests you guys run for each of 4KB, 2MB and 1GB alignments?

Yes, we do have a basic regression test [1], but it's obviously
missing this. Will fix, thanks for the report!

[1]: https://github.com/pmem/ndctl/blob/master/test/device-dax.c
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to