• Dennis Zhou (Facebook)'s avatar
    percpu: update pcpu_find_block_fit to use an iterator · b4c2116c
    Dennis Zhou (Facebook) authored
    The simple, and expensive, way to find a free area is to iterate over
    the entire bitmap until an area is found that fits the allocation size
    and alignment. This patch makes use of an iterate that find an area to
    check by using the block level contig hints. It will only return an area
    that can fit the size and alignment request. If the request can fit
    inside a block, it returns the first_free bit to start checking from to
    see if it can be fulfilled prior to the contig hint. The pcpu_alloc_area
    check has a bound of a block size added in case it is wrong.
    Signed-off-by: default avatarDennis Zhou <dennisszhou@gmail.com>
    Reviewed-by: default avatarJosef Bacik <jbacik@fb.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    b4c2116c
percpu.c 81.8 KB