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

From: Jiri Olsa
Date: Tue Aug 02 2016 - 07:44:12 EST


On Tue, Aug 02, 2016 at 11:33:59AM +0200, Jiri Olsa wrote:
> On Mon, Aug 01, 2016 at 12:45:18PM -0600, David Ahern wrote:
> > On 8/1/16 12:02 PM, Jiri Olsa wrote:
> > > @@ -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 malloc(BITS_TO_LONGS(nbits) * sizeof(unsigned long));
> > > +}
> > > +
> > > #endif /* _PERF_BITOPS_H */
> >
> > calloc? Can't imagine any user wanting an uninitialized bitmap.
>
> hum, right.. all my code used bitmap_zero,
> but zalloc would be better choice in here

v2 attached, thanks

jirka


---
Adding bitmap_alloc function to dynamically allocate bitmap.

Link: http://lkml.kernel.org/n/tip-ictn3ke5ewrzwyn8webfeai9@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
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