cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Steven Whitehouse <swhiteho@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [gfs2-utils PATCH 0/7] fsck.gfs2 performance improvements
Date: Mon, 27 Jun 2016 13:24:41 +0100	[thread overview]
Message-ID: <57711B09.5070500@redhat.com> (raw)
In-Reply-To: <cover.1466623302.git.rpeterso@redhat.com>

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(-)
>



      parent reply	other threads:[~2016-06-27 12:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-22 19:26 [Cluster-devel] [gfs2-utils PATCH 0/7] fsck.gfs2 performance improvements Bob Peterson
2016-06-22 19:26 ` [Cluster-devel] [gfs2-utils PATCH 1/7] fsck.gfs2: Don't bother to pass bl blockmap pointer Bob Peterson
2016-06-23 12:45   ` Andrew Price
2016-06-22 19:26 ` [Cluster-devel] [gfs2-utils PATCH 2/7] fsck.gfs2: Remember the previous rgrp pointer for speed Bob Peterson
2016-06-22 19:26 ` [Cluster-devel] [gfs2-utils PATCH 3/7] fsck.gfs2: Don't set gfs1rg pointer unless we need to Bob Peterson
2016-06-22 19:26 ` [Cluster-devel] [gfs2-utils PATCH 4/7] fsck.gfs2: Make _fsck_bitmap_set not send a return code Bob Peterson
2016-06-22 19:26 ` [Cluster-devel] [gfs2-utils PATCH 5/7] fsck.gfs2: convert fsck_bitmap_set to a macro Bob Peterson
2016-06-22 19:26 ` [Cluster-devel] [gfs2-utils PATCH 6/7] fsck.gfs2: Speed up function bitmap_type Bob Peterson
2016-06-22 19:26 ` [Cluster-devel] [gfs2-utils PATCH 7/7] fsck.gfs2: Make pass2 go by directory rbtree for performance Bob Peterson
2016-06-27 12:24 ` Steven Whitehouse [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57711B09.5070500@redhat.com \
    --to=swhiteho@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).