Re: [PATCH 0/6] kill-the-BKL/reiserfs3: performance improvements,faster than Bkl based scheme

From: Ingo Molnar
Date: Fri May 01 2009 - 01:36:16 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> Hi,
>
> This reiserfs patchset applies against latest tip:core/kill-the-BKL
> It adds various explicit write lock releases on specific sleeping sections.
>
> A performance test with dbench on UP with 100 processus during 100 seconds
> gives the following results:
>
> Locking Throughput
>
> Bkl: 11.2587 MB/s
> Write lock/Mutex: 12.5713 MB/s
>
> So the new locking scheme makes it 11% faster than with the bkl.

Wow, nice!

> It's not possible to compare it on the kill-the-BKL tree because the Bkl
> is not anymore a Bkl inside but a plain Mutex.
>
> Instead, you can apply the following equivalent patch against -rc3 to test it:
> http://www.kernel.org/pub/linux/kernel/people/frederic/reiserfs-kill-the-bkl-full.patch
>
> Of course it might eat your data, make you cows produce black milk, bring coffee
> to your children at 3:00 am, turn the teletubbies song in your mind for
> seven years long and so...
>
> Frederic.
>
> The following changes since commit a3a2b793d18bc068b79508e96eba33ae2326f759:
> Alessio Igor Bogani (1):
> remove the BKL: remove "BKL auto-drop" assumption from ext3_remount()
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git bkl
>
> Frederic Weisbecker (6):
> kill-the-BKL/reiserfs: release write lock on fs_changed()
> kill-the-BKL/reiserfs: release the write lock before rescheduling on do_journal_end()
> kill-the-BKL/reiserfs: release write lock while rescheduling on prepare_for_delete_or_cut()
> kill-the-BKL/reiserfs: release the write lock inside get_neighbors()
> kill-the-BKL/reiserfs: release the write lock inside reiserfs_read_bitmap_block()
> kill-the-BKL/reiserfs: release the write lock on flush_commit_list()
>
> fs/reiserfs/bitmap.c | 2 ++
> fs/reiserfs/fix_node.c | 4 ++++
> fs/reiserfs/journal.c | 9 +++++++--
> fs/reiserfs/stree.c | 2 ++
> include/linux/reiserfs_fs.h | 8 +++++++-
> 5 files changed, 22 insertions(+), 3 deletions(-)

I've pulled it and have also merged -rc4 into the kill-the-BKL tree,
which can picked up from here:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git core/kill-the-BKL

So for comparative benchmarking, vanilla v2.6.30-rc4 (which has the
BKL) can be compared against latest kill-the-BKL.

Ingo
--
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/