This patch intends to improve the scalability of an ext4 filesystem by introducing higher degree of parallelism to the usages of its mb_cache and mb_cache_entries. Here are some of the benchmark results with the changes. On a 90 core machine: Here are the performance improvements in some of the aim7 workloads, --------------------------- | | % increase | --------------------------- | custom | 13.30 | --------------------------- | disk | 5.00 | --------------------------- | new_fserver | 6.73 | --------------------------- | shared | 7.12 | --------------------------- For Swingbench dss workload, ------------------------------------------------------------------------------- | Users | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | ------------------------------------------------------------------------------- | % imprvoment | 9.14 | 9.26 | 19.9 | 5.31 | 7.79 | 0.23 |-4.39 |-4.48 |-4.36 | ------------------------------------------------------------------------------- For SPECjbb2013, composite run, -------------------------------------------- | | max-jOPS | critical-jOPS | -------------------------------------------- | % improvement | 6.73 | 16.37 | -------------------------------------------- On an 80 core machine: Here are the improvments in some of the aim7 workloads, --------------------------- | | % increase | --------------------------- | fserver | 6.47 | --------------------------- | new_fserver | 4.62 | --------------------------- For Swingbench dss workload, ------------------------------------------------------------------------------- | Users | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | ------------------------------------------------------------------------------- | % imprvoment | 4.29 | 2.28 | 3.25 | 1.45 |-0.84 | 3.11 |-0.61 | 3.80 | 2.58 | ------------------------------------------------------------------------------- For SPECjbb2013, composite run, -------------------------------------------- | | max-jOPS | critical-jOPS | -------------------------------------------- | % improvement | 0.49 | 3.21 | -------------------------------------------- The changes have been tested with ext4 xfstests to verify that no regression has been introduced. fs/ext4/ext4.h | 1 + fs/ext4/super.c | 8 ++ fs/ext4/xattr.c | 41 +++++--- fs/ext4/xattr.h | 3 + fs/mbcache.c | 432 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------ include/linux/mbcache.h | 5 + 6 files changed, 385 insertions(+), 105 deletions(-) -- 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