Should we enabling mballoc by default ?

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

 



Hi,

mballoc currently causes fragmentation of small size files. The
behaviour can be observed by running parallel dd on ext4 file system. A
sample test case can be found here.

http://www.radian.org/~kvaneesh/ext4/mballoc-frag/fragmentation-analysis

This is because for small size request/file mballoc uses group prealloc
space. That means if you have singe cpu and multiple threads doing
parallel io to the file the block request are served from the same
prealloc space. This results in the fragmentation observed above. (Group
prealloc space is per cpu )

This problem should go away with delayed allocation because the write
out happens with multiple blocks and mballoc places then close together
even though they get served by the same group prealloc space.
Considering that we don't have delalloc yet, i guess we should push
mballoc to 2.6.25 with default disabled and O_DIRECT type workloads can
enabled then via mount option.


-aneesh
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux