lkml.org 
[lkml]   [2008]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 6/8] omfs: add bitmap routines
On Sat, Apr 19, 2008 at 04:37:35PM -0400, Bob Copeland wrote:
> +unsigned long omfs_count_free(struct super_block *sb)
> +{
> + unsigned int i, j;
> + u64 *map;
> + unsigned long sum = 0;
> + struct omfs_sb_info *sbi = OMFS_SB(sb);
> +
> + for (i = 0; i < sbi->s_imap_size; i++) {
> + map = (u64 *) sbi->s_imap[i];
> + for (j = 0; j < sb->s_blocksize / 8; j++)
> + sum += hweight64(~map[j]);
> + }
> + return sum;
> +}
I think inner loop can be replaced with something like:
sum += sb->s_blocksize * 8 - bitmap_weight(map, sb->s_blocksize * 8);

Marcin


\
 
 \ /
  Last update: 2008-04-20 00:07    [W:0.036 / U:0.560 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site