On Wed, Apr 18, 2018 at 02:30:59PM -0700, Howard McLauchlan wrote: > Presently, convert_free_space_to_extents() does a linear scan of the > bitmap. We can speed this up with find_next_{bit,zero_bit}_le(). > > This patch replaces the linear scan with find_next_{bit,zero_bit}_le(). > Testing shows a 20-33% decrease in execution time for > convert_free_space_to_extents(). > > Suggested-by: Omar Sandoval <osan...@osandov.com> > Signed-off-by: Howard McLauchlan <hmclauch...@fb.com> > --- > > Since we change bitmap to be unsigned long, we have to do some casting for the > bitmap cursor. In le_bitmap_set() it makes sense to use u8, as we are doing > bit operations. Everywhere else, we're just using it for pointer arithmetic > and > not directly accessing it, so char seems more appropriate.
Ok, makes sense for just passing the pointers around. I'll add the text to changelog and apply the patch to next. > - bit = !!le_test_bit(bitnr, bitmap); This is the last use of le_test_bit, so it can be removed (in another patch). -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html