[PATCH 0/2] ext4: increase mbcache scalability

From: T Makphaibulchoke
Date: Wed Jul 17 2013 - 20:55:25 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/