On Wed, Nov 18, 2015 at 10:53 AM, Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> wrote: > On Wed, Nov 18, 2015 at 01:32:46PM -0500, Jeff Moyer wrote: >> Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> writes: >> >> > Yea, my first round of testing was broken, sorry about that. >> > >> > It looks like this test causes the PMD fault handler to be called repeatedly >> > over and over until you kill the userspace process. This doesn't happen for >> > XFS because when using XFS this test doesn't hit PMD faults, only PTE faults. >> >> Hmm, I wonder why not? > > Well, whether or not you get PMDs is dependent on the block allocator for the > filesystem. We ask the FS how much space is contiguous via get_blocks(), and > if it's less than PMD_SIZE (2 MiB) we fall back to the regular 4k page fault > path. This code all lives in __dax_pmd_fault(). There are also a bunch of > other reasons why we'd fall back to 4k faults - the virtual address isn't 2 > MiB aligned, etc. It's actually pretty hard to get everything right so you > actually get PMD faults. > > Anyway, my guess is that we're failing to meet one of our criteria in XFS, so > we just always fall back to PTEs for this test. > >> Sounds like that will need investigating as well, right? > > Yep, on it. XFS can do pmd faults just fine, you just need to use fiemap to find a 2MiB aligned physical offset. See the ndctl pmd test I posted. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html