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

Andy Shevchenko andriy.shevchenko at linux.intel.com
Wed Oct 11 10:59:59 PDT 2023


On Wed, Oct 11, 2023 at 07:28:31PM +0200, Alexander Potapenko wrote:
> From: Syed Nayyar Waris <syednwaris at gmail.com>
> 
> 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





More information about the linux-arm-kernel mailing list