diff options
Diffstat (limited to 'tools/perf/util/include/linux')
| -rw-r--r-- | tools/perf/util/include/linux/bitmap.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/perf/util/include/linux/bitmap.h b/tools/perf/util/include/linux/bitmap.h index eda4416efa0a..bb162e40c76c 100644 --- a/tools/perf/util/include/linux/bitmap.h +++ b/tools/perf/util/include/linux/bitmap.h | |||
| @@ -5,6 +5,8 @@ | |||
| 5 | #include <linux/bitops.h> | 5 | #include <linux/bitops.h> |
| 6 | 6 | ||
| 7 | int __bitmap_weight(const unsigned long *bitmap, int bits); | 7 | int __bitmap_weight(const unsigned long *bitmap, int bits); |
| 8 | void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1, | ||
| 9 | const unsigned long *bitmap2, int bits); | ||
| 8 | 10 | ||
| 9 | #define BITMAP_LAST_WORD_MASK(nbits) \ | 11 | #define BITMAP_LAST_WORD_MASK(nbits) \ |
| 10 | ( \ | 12 | ( \ |
| @@ -32,4 +34,13 @@ static inline int bitmap_weight(const unsigned long *src, int nbits) | |||
| 32 | return __bitmap_weight(src, nbits); | 34 | return __bitmap_weight(src, nbits); |
| 33 | } | 35 | } |
| 34 | 36 | ||
| 37 | static inline void bitmap_or(unsigned long *dst, const unsigned long *src1, | ||
| 38 | const unsigned long *src2, int nbits) | ||
| 39 | { | ||
| 40 | if (small_const_nbits(nbits)) | ||
| 41 | *dst = *src1 | *src2; | ||
| 42 | else | ||
| 43 | __bitmap_or(dst, src1, src2, nbits); | ||
| 44 | } | ||
| 45 | |||
| 35 | #endif /* _PERF_BITOPS_H */ | 46 | #endif /* _PERF_BITOPS_H */ |
