[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