• Chao Yu's avatar
    f2fs: introduce check_swap_activate_fast() · af4b6b8e
    Chao Yu authored
    check_swap_activate() will lookup block mapping via bmap() one by one, so
    its performance is very bad, this patch introduces check_swap_activate_fast()
    to use f2fs_fiemap() to boost this process, since f2fs_fiemap() will lookup
    block mappings in batch, therefore, it can improve swapon()'s performance
    significantly.
    
    Note that this enhancement only works when page size is equal to f2fs' block
    size.
    
    Testcase: (backend device: zram)
    - touch file
    - pin & fallocate file to 8GB
    - mkswap file
    - swapon file
    
    Before:
    real	0m2.999s
    user	0m0.000s
    sys	0m2.980s
    
    After:
    real	0m0.081s
    user	0m0.000s
    sys	0m0.064s
    Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    af4b6b8e
data.c 100 KB