From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Mon, 27 Jun 2016 13:24:41 +0100 Subject: [Cluster-devel] [gfs2-utils PATCH 0/7] fsck.gfs2 performance improvements In-Reply-To: References: Message-ID: <57711B09.5070500@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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(-) >