lkml.org 
[lkml]   [2021]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 3/8] lib: bitmap: fold nbits into region struct
    On Tue, Jan 26, 2021 at 9:12 AM Paul Gortmaker
    <paul.gortmaker@windriver.com> wrote:
    >
    > This will reduce parameter passing and enable using nbits as part
    > of future dynamic region parameter parsing.
    >
    > Cc: Yury Norov <yury.norov@gmail.com>
    > Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    > Suggested-by: Yury Norov <yury.norov@gmail.com>
    > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    > ---
    > lib/bitmap.c | 19 ++++++++++---------
    > 1 file changed, 10 insertions(+), 9 deletions(-)
    >
    > diff --git a/lib/bitmap.c b/lib/bitmap.c
    > index 75006c4036e9..162e2850c622 100644
    > --- a/lib/bitmap.c
    > +++ b/lib/bitmap.c
    > @@ -487,24 +487,24 @@ EXPORT_SYMBOL(bitmap_print_to_pagebuf);
    >
    > /*
    > * Region 9-38:4/10 describes the following bitmap structure:
    > - * 0 9 12 18 38
    > - * .........****......****......****......
    > - * ^ ^ ^ ^
    > - * start off group_len end
    > + * 0 9 12 18 38 N
    > + * .........****......****......****..................
    > + * ^ ^ ^ ^ ^
    > + * start off group_len end nbits
    > */
    > struct region {
    > unsigned int start;
    > unsigned int off;
    > unsigned int group_len;
    > unsigned int end;
    > + unsigned int nbits;
    > };
    >
    > -static int bitmap_set_region(const struct region *r,
    > - unsigned long *bitmap, int nbits)
    > +static int bitmap_set_region(const struct region *r, unsigned long *bitmap)
    > {
    > unsigned int start;
    >
    > - if (r->end >= nbits)
    > + if (r->end >= r->nbits)
    > return -ERANGE;
    >
    > for (start = r->start; start <= r->end; start += r->group_len)
    > @@ -640,7 +640,8 @@ int bitmap_parselist(const char *buf, unsigned long *maskp, int nmaskbits)
    > struct region r;
    > long ret;
    >
    > - bitmap_zero(maskp, nmaskbits);
    > + r.nbits = nmaskbits;
    > + bitmap_zero(maskp, r.nbits);
    >
    > while (buf) {
    > buf = bitmap_find_region(buf);
    > @@ -655,7 +656,7 @@ int bitmap_parselist(const char *buf, unsigned long *maskp, int nmaskbits)
    > if (ret)
    > return ret;
    >
    > - ret = bitmap_set_region(&r, maskp, nmaskbits);
    > + ret = bitmap_set_region(&r, maskp);
    > if (ret)
    > return ret;
    > }
    > --
    > 2.17.1

    Acked-by: Yury Norov <yury.norov@gmail.com>

    \
     
     \ /
      Last update: 2021-01-27 07:32    [W:5.128 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site