• Nicholas Piggin's avatar
    powerpc/mm/slice: implement slice_check_range_fits · ae3066bd
    Nicholas Piggin authored
    Rather than build slice masks from a range then use that to check for
    fit in a candidate mask, implement slice_check_range_fits that checks
    if a range fits in a mask directly.
    
    This allows several structures to be removed from stacks, and also we
    don't expect a huge range in a lot of these cases, so building and
    comparing a full mask is going to be more expensive than testing just
    one or two bits of the range.
    
    On POWER8, this increases vfork+exec+exit performance by 0.3%
    and reduces time to mmap+munmap a 64kB page by 5%.
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    ae3066bd
slice.c 21.9 KB