Re: [PATCHv2 1/7] tools lib: Add bitmap_alloc function

Jiri Olsa
2016-08-02T13:16:29Z

On Tue, Aug 02, 2016 at 09:56:16AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Aug 02, 2016 at 01:33:02PM +0200, Jiri Olsa escreveu:
> > ---
> > Adding bitmap_alloc function to dynamically allocate bitmap.
>
> Why should we deviate from the kernel way of doing things, where, AFAIK,
> there is no such bitmap_alloc() function?

well, because I need it dynamically allocated and calling
bitmap_alloc(nbits) seems more reasonable to me than calling
the calloc below

jirka

>
> [acme@jouet linux]$ find . -type f | xargs grep -w bitmap_alloc
> [acme@jouet linux]$
>
> - Arnaldo
>
> > Link: http://lkml.kernel.org/n/tip-ictn3ke5ewrzwyn8webfeai9@git.kernel.org
> > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> > ---
> > tools/include/linux/bitmap.h | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/tools/include/linux/bitmap.h b/tools/include/linux/bitmap.h
> > index 28f5493da491..60c44b615902 100644
> > --- a/tools/include/linux/bitmap.h
> > +++ b/tools/include/linux/bitmap.h
> > @@ -3,6 +3,7 @@
> >
> > #include <string.h>
> > #include <linux/bitops.h>
> > +#include <stdlib.h>
> >
> > #define DECLARE_BITMAP(name,bits) \
> > unsigned long name[BITS_TO_LONGS(bits)]
> > @@ -65,4 +66,13 @@ static inline int test_and_set_bit(int nr, unsigned long *addr)
> > return (old & mask) != 0;
> > }
> >
> > +/**
> > + * bitmap_alloc - Allocate bitmap
> > + * @nr: Bit to set
> > + */
> > +static inline unsigned long *bitmap_alloc(int nbits)
> > +{
> > + return calloc(1, BITS_TO_LONGS(nbits) * sizeof(unsigned long));
> > +}
> > +
> > #endif /* _PERF_BITOPS_H */
> > --
> > 2.4.11