The patch titled Subject: lib/bitmap.c: bitmap_[empty,full]: remove code duplication has been added to the -mm tree. Its filename is lib-bitmap_-remove-code-duplication.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/lib-bitmap_-remove-code-duplication.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/lib-bitmap_-remove-code-duplication.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Yury Norov <yury.norov@xxxxxxxxx> Subject: lib/bitmap.c: bitmap_[empty,full]: remove code duplication bitmap_empty() has its own implementation. But it's clearly as simple as: find_first_bit(src, nbits) == nbits The same is true for 'bitmap_full'. Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/bitmap.h | 8 ++++---- lib/bitmap.c | 30 ------------------------------ 2 files changed, 4 insertions(+), 34 deletions(-) diff -puN include/linux/bitmap.h~lib-bitmap_-remove-code-duplication include/linux/bitmap.h --- a/include/linux/bitmap.h~lib-bitmap_-remove-code-duplication +++ a/include/linux/bitmap.h @@ -283,16 +283,16 @@ static inline int bitmap_empty(const uns { if (small_const_nbits(nbits)) return ! (*src & BITMAP_LAST_WORD_MASK(nbits)); - else - return __bitmap_empty(src, nbits); + + return find_first_bit(src, nbits) == nbits; } static inline int bitmap_full(const unsigned long *src, unsigned int nbits) { if (small_const_nbits(nbits)) return ! (~(*src) & BITMAP_LAST_WORD_MASK(nbits)); - else - return __bitmap_full(src, nbits); + + return find_first_zero_bit(src, nbits) == nbits; } static inline int bitmap_weight(const unsigned long *src, unsigned int nbits) diff -puN lib/bitmap.c~lib-bitmap_-remove-code-duplication lib/bitmap.c --- a/lib/bitmap.c~lib-bitmap_-remove-code-duplication +++ a/lib/bitmap.c @@ -42,36 +42,6 @@ * for the best explanations of this ordering. */ -int __bitmap_empty(const unsigned long *bitmap, unsigned int bits) -{ - unsigned int k, lim = bits/BITS_PER_LONG; - for (k = 0; k < lim; ++k) - if (bitmap[k]) - return 0; - - if (bits % BITS_PER_LONG) - if (bitmap[k] & BITMAP_LAST_WORD_MASK(bits)) - return 0; - - return 1; -} -EXPORT_SYMBOL(__bitmap_empty); - -int __bitmap_full(const unsigned long *bitmap, unsigned int bits) -{ - unsigned int k, lim = bits/BITS_PER_LONG; - for (k = 0; k < lim; ++k) - if (~bitmap[k]) - return 0; - - if (bits % BITS_PER_LONG) - if (~bitmap[k] & BITMAP_LAST_WORD_MASK(bits)) - return 0; - - return 1; -} -EXPORT_SYMBOL(__bitmap_full); - int __bitmap_equal(const unsigned long *bitmap1, const unsigned long *bitmap2, unsigned int bits) { _ Patches currently in -mm which might be from yury.norov@xxxxxxxxx are linux-bitmaph-improve-bitmap_lastfirst_word_mask.patch lib-find__bit-reimplementation.patch lib-find__bit-reimplementation-fix.patch lib-move-find_last_bit-to-lib-find_next_bitc.patch lib-rename-lib-find_next_bitc-to-lib-find_bitc.patch lib-bitmap_-remove-code-duplication.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html