All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: Akinobu Mita <akinobu.mita@gmail.com>
Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
	Jan Kara <jack@suse.cz>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	linux-ext4@vger.kernel.org
Subject: Re: [PATCH v3 8/9] ext3: use memweight()
Date: Tue, 12 Jun 2012 11:14:36 +0200	[thread overview]
Message-ID: <20120612091436.GD6021@quack.suse.cz> (raw)
In-Reply-To: <1339203038-13069-8-git-send-email-akinobu.mita@gmail.com>

On Sat 09-06-12 09:50:37, Akinobu Mita wrote:
> Convert ext3_count_free() to use memweight() instead of table lookup
> based counting clear bits implementation.  This change only affects
> the code segments enabled by EXT3FS_DEBUG.
> 
> Note that this memweight() call can't be replaced with a single
> bitmap_weight() call, although the pointer to the memory area is
> aligned to long-word boundary.  Because the size of the memory area
> may not be a multiple of BITS_PER_LONG, then it returns wrong value on
> big-endian architecture.
> 
> This also includes the following changes.
> 
> - Remove unnecessary map == NULL check in ext3_count_free() which
>   always takes non-null pointer as the memory area.
> 
> - Fix printk format warning that only reveals with EXT3FS_DEBUG.
> 
> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
> Cc: Jan Kara <jack@suse.cz>
  Acked-by: Jan Kara <jack@suse.cz>

								Honza

> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Andreas Dilger <adilger.kernel@dilger.ca>
> Cc: linux-ext4@vger.kernel.org
> ---
> v3: rewrite to keep ext3_count_free() as a wrapper for memweight()
> 
>  fs/ext3/balloc.c |    2 +-
>  fs/ext3/bitmap.c |   12 +-----------
>  2 files changed, 2 insertions(+), 12 deletions(-)
> 
> diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c
> index 25cd608..90d901f 100644
> --- a/fs/ext3/balloc.c
> +++ b/fs/ext3/balloc.c
> @@ -1813,7 +1813,7 @@ ext3_fsblk_t ext3_count_free_blocks(struct super_block *sb)
>  	brelse(bitmap_bh);
>  	printk("ext3_count_free_blocks: stored = "E3FSBLK
>  		", computed = "E3FSBLK", "E3FSBLK"\n",
> -	       le32_to_cpu(es->s_free_blocks_count),
> +	       (ext3_fsblk_t)le32_to_cpu(es->s_free_blocks_count),
>  		desc_count, bitmap_count);
>  	return bitmap_count;
>  #else
> diff --git a/fs/ext3/bitmap.c b/fs/ext3/bitmap.c
> index 909d13e..ef9c643 100644
> --- a/fs/ext3/bitmap.c
> +++ b/fs/ext3/bitmap.c
> @@ -11,19 +11,9 @@
>  
>  #ifdef EXT3FS_DEBUG
>  
> -static const int nibblemap[] = {4, 3, 3, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1, 0};
> -
>  unsigned long ext3_count_free (struct buffer_head * map, unsigned int numchars)
>  {
> -	unsigned int i;
> -	unsigned long sum = 0;
> -
> -	if (!map)
> -		return (0);
> -	for (i = 0; i < numchars; i++)
> -		sum += nibblemap[map->b_data[i] & 0xf] +
> -			nibblemap[(map->b_data[i] >> 4) & 0xf];
> -	return (sum);
> +	return numchars * BITS_PER_BYTE - memweight(map->b_data, numchars);
>  }
>  
>  #endif  /*  EXT3FS_DEBUG  */
> -- 
> 1.7.7.6
> 
-- 
Jan Kara <jack@suse.cz>
SUSE Labs, CR

  reply	other threads:[~2012-06-12  9:14 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-09  0:50 [PATCH v3 1/9] string: introduce memweight Akinobu Mita
2012-06-09  0:50 ` [Ocfs2-devel] " Akinobu Mita
2012-06-09  0:50 ` [PATCH v3 2/9] qnx4fs: use memweight() Akinobu Mita
2012-06-09  0:50 ` [PATCH v3 3/9] dm: " Akinobu Mita
2012-06-09  0:50   ` Akinobu Mita
2012-06-09  0:50 ` [PATCH v3 4/9] affs: " Akinobu Mita
2012-06-09  0:50 ` [PATCH v3 5/9] video/uvc: " Akinobu Mita
2012-06-18 23:06   ` Mauro Carvalho Chehab
2012-06-09  0:50 ` [Ocfs2-devel] [PATCH v3 6/9] ocfs2: " Akinobu Mita
2012-06-09  0:50   ` Akinobu Mita
2012-06-09  0:50 ` [PATCH v3 7/9] ext2: " Akinobu Mita
2012-06-12  9:14   ` Jan Kara
2012-06-09  0:50 ` [PATCH v3 8/9] ext3: " Akinobu Mita
2012-06-12  9:14   ` Jan Kara [this message]
2012-06-09  0:50 ` [PATCH v3 9/9] ext4: " Akinobu Mita
2012-06-11 23:17 ` [PATCH v3 1/9] string: introduce memweight Andrew Morton
2012-06-11 23:17   ` [Ocfs2-devel] " Andrew Morton
2012-06-20 23:12 ` Tony Luck
2012-06-20 23:12   ` Tony Luck
2012-06-21  9:07   ` Akinobu Mita
2012-06-21  9:07     ` [Ocfs2-devel] " Akinobu Mita
2012-06-21  9:07     ` Akinobu Mita

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=20120612091436.GD6021@quack.suse.cz \
    --to=jack@suse.cz \
    --cc=adilger.kernel@dilger.ca \
    --cc=akinobu.mita@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@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.