Re: [RESEND PATCH v4 1/8] bitops: Introduce the for_each_set_clump macro

From: Andy Shevchenko
Date: Wed Oct 03 2018 - 07:48:18 EST


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