Whamcloud - gitweb
LU-12103 ldiskfs: don't search large block range if disk full 81/36681/3
authorArtem Blagodarenko <c17828@cray.com>
Thu, 6 Jun 2019 13:50:11 +0000 (16:50 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 5 Dec 2019 14:58:24 +0000 (14:58 +0000)
commit810a952303969ca0ee01639a5408ff2f0e3456d9
tree5af5e07d0912b2dff82632f5b1777021574a526b
parent3df41bb8515d5012d7e2f19b2d7019e3e1b64a71
LU-12103 ldiskfs: don't search large block range if disk full

Block allocator tries to find:
1) group with the same range as required
2) group with the same average range as required
3) group with required amount of space
4) any group

For quite full disk step 1 is failed with higth
probability, but takes a lot of time.

Skip 1st step if disk space < 25%
Skip 2d step if disk space < 15%
Skip 3d step if disk space < 5%
Also check if group has any free space on step 4.

This three thresholds can be adjusted through added interface.

Variables added which counts unsuccessfull group processing loops.
This can show allocator effectiveness in different circumstances.

This statistics output through mb_alloc file. This file is
useful to track allocator activity.

Lustre-change: https://review.whamcloud.com/35180
Lustre-commit: 95f8ae5677491508ae7182b4f61ead3d413434ae

Signed-off-by: Artem Blagodarenko <c17828@cray.com>
Change-Id: I18c7147e32951c49e12a2444803aa2995bb4ae2d
Cray-bug-id: LUS-6746
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/36681
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
ldiskfs/kernel_patches/patches/rhel7.2/ext4-simple-blockalloc.patch [new file with mode: 0644]
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.6.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.7.series