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(-)
On Wed, Jul 17, 2013 at 06:55:10PM -0600, T Makphaibulchoke wrote:
> 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.
>
> ...
>
> 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(-)
>
I see the diff stats, but there was no patch attached to your message.
Could you please resend the patch to the linux-ext4 list?
Thanks,
- Ted
On Thu, Jul 18, 2013 at 12:30:24PM -0400, Theodore Ts'o wrote:
> On Wed, Jul 17, 2013 at 06:55:10PM -0600, T Makphaibulchoke wrote:
> > 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.
> >
> > ...
> >
> > 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(-)
> >
>
> I see the diff stats, but there was no patch attached to your message.
> Could you please resend the patch to the linux-ext4 list?
Never mind, I see them now. I didn't notice this was a 0/2 message,
and since you are apparently using an old versio of git which doesn't
enable --thread by default (or you have a git config setting which
disables the use of mail threading), I didn't see the patches chained
to the message.
Sorry for being confused,
- Ted
On 07/18/2013 04:33 PM, Theodore Ts'o wrote:
> On Thu, Jul 18, 2013 at 12:30:24PM -0400, Theodore Ts'o wrote:
>> On Wed, Jul 17, 2013 at 06:55:10PM -0600, T Makphaibulchoke wrote:
>>> 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.
>>>
>>> ...
>>>
>>> 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(-)
>>>
>>
>> I see the diff stats, but there was no patch attached to your message.
>> Could you please resend the patch to the linux-ext4 list?
>
> Never mind, I see them now. I didn't notice this was a 0/2 message,
> and since you are apparently using an old versio of git which doesn't
> enable --thread by default (or you have a git config setting which
> disables the use of mail threading), I didn't see the patches chained
> to the message.
>
> Sorry for being confused,
>
> - Ted
>
Hi Ted,
Could you please let me know if you have comment, suggestion or feedback for the patch. Thanks in advance.
Thanks,
Mak.