filesystem-dax huge page test fails due to misaligned extents

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

In the course of tracking down a v5.3 regression with filesystem-dax
unable to generate huge page faults on any filesystem, I found that I
can't generate huge faults on v5.2 with xfs, but ext4 works. That
result indicates that the block device is properly physically aligned,
but the allocator is generating misaligned extents.

The test fallocates a 1GB file and then looks for a 2MB aligned
extent. However, fiemap reports:

        for (i = 0; i < map->fm_mapped_extents; i++) {
                ext = &map->fm_extents[i];
                fprintf(stderr, "[%ld]: l: %llx p: %llx len: %llx flags: %x\n",
                                i, ext->fe_logical, ext->fe_physical,
                                ext->fe_length, ext->fe_flags);
        }

[0]: l: 0 p: 208000 len: 1fdf8000 flags: 800
[1]: l: 1fdf8000 p: c000 len: 170000 flags: 800
[2]: l: 1ff68000 p: 2000c000 len: 1ff70000 flags: 800
[3]: l: 3fed8000 p: 4000c000 len: 128000 flags: 801

...where l == ->fe_logical and p == ->fe_physical.

I'm still searching for the kernel where this behavior changed, but in
the meantime wanted to report this in case its something
straightforward in the allocator. The mkfs.xfs invocation in this case
was:

    mkfs.xfs -f -d su=2m,sw=1 -m reflink=0 /dev/pmem0



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux