qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RESEND][PATCH] bitmap: get last word mask from nr dire


From: Wei Yang
Subject: Re: [Qemu-devel] [RESEND][PATCH] bitmap: get last word mask from nr directly
Date: Wed, 17 Jul 2019 13:46:47 +0800
User-agent: Mutt/1.9.4 (2018-02-28)

On Wed, Jul 17, 2019 at 11:11:55AM +0800, Peter Xu wrote:
>On Wed, Jul 17, 2019 at 10:46:37AM +0800, Wei Yang wrote:
>> On Wed, Jul 17, 2019 at 09:59:10AM +0800, Peter Xu wrote:
>> >On Wed, Jul 17, 2019 at 09:29:02AM +0800, Wei Yang wrote:
>> >> The value left in nr is the number of bits for the last word, which
>> >> could be calculate the last word mask directly.
>> >
>> >Is it true even if start does not align to BITS_PER_LONG?
>> >
>> 
>> Yes. Let me see how to explain this.
>> 
>> When you look into the definition of BITMAP_LAST_WORD_MASK, it takes the
>> number of total bits and give the number of bits in last word. While the 
>> value
>> matters for the input is the number of last word. This means the following
>> equation stands
>> 
>>   BITMAP_LAST_WORD_MASK(size) == BITMAP_FIRST_WORD_MASK(size % BITS_PER_LONG)
>> 
>> Now let look at the calculation for nr. In each iteration, nr will be
>> truncated to be aligned to BITS_PER_LONG. So when we exit the loop, nr keeps
>> the number of bits in last word.
>> 
>> So we can leverage the result, no matter the start is aligned or not.
>
>Yes, you are right.
>
>Do you have plan to write some unit tests for these functions? :)
>
>It'll be tests/test-bitmap.c.  IMHO the test cases could be even more
>helpful to the QEMU project as a whole comparing to this patch to
>guarantee changes like your patch won't break.

Let me have a try. :-)

>
>At the meantime I think you can also do that to bitmap_set_atomic.
>
>Thanks,
>
>-- 
>Peter Xu

-- 
Wei Yang
Help you, Help me



reply via email to

[Prev in Thread] Current Thread [Next in Thread]