bitops: unroll while loop in find_next_bit()
authorPeter Lieven <pl@kamp.de>
Tue, 26 Mar 2013 09:58:34 +0000 (10:58 +0100)
committerJuan Quintela <quintela@redhat.com>
Tue, 26 Mar 2013 12:32:32 +0000 (13:32 +0100)
commit49f676a00ab540fac1d2008be26434cf85607722
treecce8a4ec1cca6877846d177c9efc17fc26aee98d
parent56ded708ec38e4cb75a7c7357480ca34c0dc6875
bitops: unroll while loop in find_next_bit()

this patch adopts the loop unrolling idea of bitmap_is_zero() to
speed up the skipping of large areas with zeros in find_next_bit().

this routine is extensively used to find dirty pages in
live migration.

testing only the find_next_bit performance on a zeroed bitfield
the loop onrolling decreased executing time by approx. 50% on x86_64.

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
util/bitops.c