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? Cheers, Jeff [global] ioengine=dev-dax direct=0 filename=/dev/dax0.0 bs=2m [write] rw=write [read] stonewall rw=read _______________________________________________ Linux-nvdimm mailing list [email protected] https://lists.01.org/mailman/listinfo/linux-nvdimm
