[Cluster-devel] [gfs2-utils PATCH 0/7] fsck.gfs2 performance improvements
Steven Whitehouse
swhiteho at redhat.com
Mon Jun 27 12:24:41 UTC 2016
Hi,
I think it would be good to separate out the performance patches from
the others. I think there are probably only a few patches that will make
any performance difference. Patch 7 appears to be the most important
one, and looks like a really good speed up. That is definitely the kind
of thing we need to find and fix. Using global variables to avoid
passing an extra parameter is not a good idea - if that does make a
difference then I'd look very carefully at the loop in which that code
resides and see what the real problem is there.
Likewise, I'm not at all keen on having large functions in headers
marked as inline functions or macros which appear to be mostly code that
is only touched on a debug or error path. This should not be performance
critical code and most of it at least should ok in a normal function.
Again if this makes a performance difference, then it is probably a sign
that something else is wrong,
Steve.
On 22/06/16 20:26, Bob Peterson wrote:
> My recent set of patches to fsck.gfs2 saved a lot of memory, thus
> enabling us to run fsck.gfs2 on much larger file systems. However,
> it slowed things down and our performance regressed. This is a set
> of seven patches designed to improve performance again. There are
> probably more improvements I can make, but I've been busy with kernel
> work, so it's not my primary focus. If I come up with more patches,
> I'll post them later.
> ---
> Bob Peterson (7):
> fsck.gfs2: Don't bother to pass bl blockmap pointer
> fsck.gfs2: Remember the previous rgrp pointer for speed
> fsck.gfs2: Don't set gfs1rg pointer unless we need to
> fsck.gfs2: Make _fsck_bitmap_set not send a return code
> fsck.gfs2: convert fsck_bitmap_set to a macro
> fsck.gfs2: Speed up function bitmap_type
> fsck.gfs2: Make pass2 go by directory rbtree for performance
>
> gfs2/fsck/metawalk.c | 69 ++++++----------------------------------------------
> gfs2/fsck/metawalk.h | 65 +++++++++++++++++++++++++++++++++++++++++++------
> gfs2/fsck/pass1.c | 47 +++++++++++++++++++++--------------
> gfs2/fsck/pass2.c | 21 ++++++----------
> gfs2/fsck/util.h | 8 +++++-
> 5 files changed, 110 insertions(+), 100 deletions(-)
>
More information about the Cluster-devel
mailing list