Re: [PATCH 1/1] fs/jbd/revoke.c: replace shift loop by ilog2
From: Jan Kara
Date: Wed May 21 2014 - 04:28:11 EST
On Tue 20-05-14 18:50:16, Fabian Frederick wrote:
> journal_init_revoke_table is only called with positive hash_size
> (JOURNAL_REVOKE_DEFAULT_HASH) so we can replace loop shift by ilog2
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Jan Kara <jack@xxxxxxx>
> Cc: Joe Perches <joe@xxxxxxxxxxx>
> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Thanks. I've merged the patch to my tree.
Honza
> ---
> fs/jbd/revoke.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/fs/jbd/revoke.c b/fs/jbd/revoke.c
> index 25c713e..8898bbd 100644
> --- a/fs/jbd/revoke.c
> +++ b/fs/jbd/revoke.c
> @@ -231,19 +231,15 @@ record_cache_failure:
>
> static struct jbd_revoke_table_s *journal_init_revoke_table(int hash_size)
> {
> - int shift = 0;
> - int tmp = hash_size;
> + int i;
> struct jbd_revoke_table_s *table;
>
> table = kmem_cache_alloc(revoke_table_cache, GFP_KERNEL);
> if (!table)
> goto out;
>
> - while((tmp >>= 1UL) != 0UL)
> - shift++;
> -
> table->hash_size = hash_size;
> - table->hash_shift = shift;
> + table->hash_shift = ilog2(hash_size);
> table->hash_table =
> kmalloc(hash_size * sizeof(struct list_head), GFP_KERNEL);
> if (!table->hash_table) {
> @@ -252,8 +248,8 @@ static struct jbd_revoke_table_s *journal_init_revoke_table(int hash_size)
> goto out;
> }
>
> - for (tmp = 0; tmp < hash_size; tmp++)
> - INIT_LIST_HEAD(&table->hash_table[tmp]);
> + for (i = 0; i < hash_size; i++)
> + INIT_LIST_HEAD(&table->hash_table[i]);
>
> out:
> return table;
> --
> 1.8.4.5
>
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/