xfs
[Top] [All Lists]

Re: [PATCH] xfs: improve xfs_bitmap_empty()

To: Jeff Liu <jeff.liu@xxxxxxxxxx>, "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Subject: Re: [PATCH] xfs: improve xfs_bitmap_empty()
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Fri, 31 Jan 2014 09:30:55 -0600
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <52EBC103.5050006@xxxxxxxxxx>
References: <52EBAF91.10608@xxxxxxxxxx> <52EBBC3D.5030507@xxxxxxxxxxx> <52EBC103.5050006@xxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
On 1/31/14, 9:28 AM, Jeff Liu wrote:
> 
> On 01/31 2014 23:07 PM, Eric Sandeen wrote:
>> On 1/31/14, 8:13 AM, Jeff Liu wrote:
>>> From: Jie Liu <jeff.liu@xxxxxxxxxx>
>>>
>>> There is no need to travel through the whole bitmap items to verify
>>> if the bitmap array is empty or not, instead, just return 0 directly
>>> if an item is detected in bitmap array.
>>>
>>> Signed-off-by: Jie Liu <jeff.liu@xxxxxxxxxx>
>>
>> Makes sense (and the long loop was my fault, I guess, but it's 
>> better than it was, see commit 24ad33f!)
> 
> Ah, you have killed a lots code there! :)
>> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
>>
>> I wonder if something like:
>>
>> return (find_first_set(map, size) == size);
>>
>> would be faster (or if it'd be worth it)...?
>> Probably not.  :)
>>
> 
> Well, when I looking through our bitmap source, I once thought if
> we can replace the current code with the generic bitmap library.
> However, our map is uint rather than unsigned long...

Technically the unsigned long (pointer) is just the bitmap address,
I think.

-Eric

> Otherwise, maybe some like find_first_bit(map, size) would be
> more convenient.
> 
> Thanks,
> -Jeff
> 

<Prev in Thread] Current Thread [Next in Thread>