From: Theodore Ts'o <tytso@mit.edu>
To: Lukas Czerner <lczerner@redhat.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH 1/2 v3] ext4: Make ext4_block_in_group() much more efficient
Date: Sun, 31 Mar 2013 21:24:03 -0400 [thread overview]
Message-ID: <20130401012403.GA3494@thunk.org> (raw)
In-Reply-To: <1364398541-4114-1-git-send-email-lczerner@redhat.com>
On Wed, Mar 27, 2013 at 04:35:40PM +0100, Lukas Czerner wrote:
> Currently in when getting the block group number for a particular block
> in ext4_block_in_group() we're using ext4_get_group_no_and_offset()
> which uses do_div() to get the block group and the remainer which is
> offset within the group.
>
> We don't need all of that in ext4_block_in_group() as we only need to
> figure out the group number.
>
> This commit changes ext4_block_in_group() to calculate group number
> directly. This shows as a big improvement with regards to cpu
> utilization. Measuring fallocate -l 15T on fresh file system with perf
> showed that 23% of cpu time was spend in the
> ext4_get_group_no_and_offset(). With this change it completely
> disappears from the list only bumping the occurrence of
> ext4_init_block_bitmap() which is the biggest user of
> ext4_block_in_group() by 4%. As the result of this change on my system
> the fallocate call was approx. 10% faster.
>
> However since there is '-g' option in mkfs which allow us setting
> different groups size (mostly for developers) I've introduced new per
> file system flag whether we have a standard block group size or not. The
> flag is used to determine whether we can use the bit shift optimization
> or not.
>
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Thanks, applied.
- Ted
prev parent reply other threads:[~2013-04-01 1:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-27 15:35 [PATCH 1/2 v3] ext4: Make ext4_block_in_group() much more efficient Lukas Czerner
2013-03-27 15:35 ` [PATCH 2/2 v3] ext4: introduce ext4_get_group_number() Lukas Czerner
2013-04-01 1:24 ` Theodore Ts'o
2013-04-01 1:24 ` Theodore Ts'o [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=20130401012403.GA3494@thunk.org \
--to=tytso@mit.edu \
--cc=lczerner@redhat.com \
--cc=linux-ext4@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.