2010-08-25 08:50:37

by Kazuya Mio

[permalink] [raw]
Subject: [RFC][PATCH V2 0/5] ext4: inode preferred block allocation

Hi,

For adding new feature to e4defrag, we implemented new two ioctls to allocate
preferred blocks by using inode PA. One is EXT4_IOC_CONTROL_PA to create or
discard inode PA, and the other is EXT4_IOC_GET_PA to get inode PA information.

By using these ioctls, e4defrag can solve relevant file fragmentation. This
improves read performance in case of reading a lot of files that is in the
same directory. The result of the simple test suite with the following command
line shows 35% performance improvement.
# time find <kernel source directory> -type -f -exec cat {} >/dev/null \;

FS Use percentage before defrag after defrag
7% 57.5s 37.1s
57% 59.9s 38.6s
96% 66.7s 44.2s

Here is v2 patch series with the following changes:
- Add e4defrag patch to support solving relevant file fragmentation mode that
reallocates files near their parent directory
- Fix overflow while checking physical block upper limit
- Rebase on the current ext4 patch queue

My previous post is here:
http://marc.info/?l=linux-ext4&m=127123344916909&w=4

This patch series consists of the following three kernel patches and
two e2fsprogs patch. They can be applied to the following trees.

ext4 patch queue:
commit: 9db9d1a9d54b6968e22e8d164b8e7adbb6347bdf
e2fsprogs:
commit: ccc7cf032852dd5c84b227bafb481b1d158e2b5e

[RFC][PATCH V2 1/5] ext4: add EXT4_IOC_CONTROL_PA to create/discard inode PA
[RFC][PATCH V2 2/5] ext4: sort and merge inode PA
[RFC][PATCH V2 3/5] ext4: add EXT4_IOC_GET_PA to get inode PA information
[RFC][PATCH V2 4/5] e4defrag: unified bugfix/improvement patches
[RFC][PATCH V2 5/5] e4defrag: add solving relevant file fragmentation mode

All suggestions and comments are welcome.

Regards,
Kazuya Mio