Re: [PATCH v7 1/5] lib/bitmap: add bitmap_{read,write}()

From: Andy Shevchenko
Date: Wed Oct 11 2023 - 14:00:13 EST


On Wed, Oct 11, 2023 at 07:28:31PM +0200, Alexander Potapenko wrote:
> From: Syed Nayyar Waris <syednwaris@xxxxxxxxx>
>
> The two new functions allow reading/writing values of length up to
> BITS_PER_LONG bits at arbitrary position in the bitmap.
>
> The code was taken from "bitops: Introduce the for_each_set_clump macro"
> by Syed Nayyar Waris with a number of changes and simplifications:
> - instead of using roundup(), which adds an unnecessary dependency
> on <linux/math.h>, we calculate space as BITS_PER_LONG-offset;
> - indentation is reduced by not using else-clauses (suggested by
> checkpatch for bitmap_get_value());
> - bitmap_get_value()/bitmap_set_value() are renamed to bitmap_read()
> and bitmap_write();
> - some redundant computations are omitted.

I realized that the corner case with these functions is when agnostic user
wants to read / write > 32 bits at a time without ifdeffery applied.

At bare minimum this has to be documented explicitly, that callers
may have an issue of the above calls on 32-bit platforms.

--
With Best Regards,
Andy Shevchenko