• Darrick J. Wong's avatar
    xfs: create separate structures and code for u32 bitmaps · 6ece924b
    Darrick J. Wong authored
    Create a version of the xbitmap that handles 32-bit integer intervals
    and adapt the xfs_agblock_t bitmap to use it.  This reduces the size of
    the interval tree nodes from 48 to 36 bytes and enables us to use a more
    efficient slab (:0000040 instead of :0000048) which allows us to pack
    more nodes into a single slab page (102 vs 85).
    
    As a side effect, the users of these bitmaps no longer have to convert
    between u32 and u64 quantities just to use the bitmap; and the hairy
    overflow checking code in xagb_bitmap_test goes away.
    
    Later in this patchset we're going to add bitmaps for xfs_agino_t,
    xfs_rgblock_t, and xfs_dablk_t, so the increase in code size (5622 vs.
    9959 bytes) seems worth it.
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    6ece924b
reap.c 13.5 KB