On Tue, Oct 02, 2018 at 11:21:42AM +0300, Andy Shevchenko wrote:
> I would rather go with two prototypes to get()/set() a clump in the bitmap
> in a way when it's aligned and BITS_PER_LONG % clump_size == 0.
To make things much easier, restrict clump_size to the one
from the following set:
1, 2, 4, 8, 16, 32 even on 64-bit platforms.
If it would be simpler solution to add 64 here (implying 32-bit platform),
I would vote for that.
For the generic case we might need something like:
unsigned long bitmap_get_bits(unsigned long *src, unsigned int start, unsigned
int nbits)
{
assert(nbits > BITS_PER_LONG);
/* Something like Rasmus proposed earlier */
}
And similar to setter.
--
With Best Regards,
Andy Shevchenko