From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932299AbcHBLoJ (ORCPT ); Tue, 2 Aug 2016 07:44:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53782 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754569AbcHBLnx (ORCPT ); Tue, 2 Aug 2016 07:43:53 -0400 Date: Tue, 2 Aug 2016 13:33:02 +0200 From: Jiri Olsa To: David Ahern Cc: Jiri Olsa , Arnaldo Carvalho de Melo , lkml , Ingo Molnar , Namhyung Kim , Peter Zijlstra Subject: [PATCHv2 1/7] tools lib: Add bitmap_alloc function Message-ID: <20160802113302.GA7479@krava> References: <1470074555-24889-1-git-send-email-jolsa@kernel.org> <1470074555-24889-2-git-send-email-jolsa@kernel.org> <9701ea8b-b7d2-3110-f177-1ece7c0cb7b7@gmail.com> <20160802093359.GC2036@krava> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160802093359.GC2036@krava> User-Agent: Mutt/1.6.2 (2016-07-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Tue, 02 Aug 2016 11:33:05 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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@git.kernel.org Signed-off-by: Jiri Olsa --- 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 #include +#include #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