• Chao Yu's avatar
    f2fs: introduce free nid bitmap · 4ac91242
    Chao Yu authored
    In scenario of intensively node allocation, free nids will be ran out
    soon, then it needs to stop to load free nids by traversing NAT blocks,
    in worse case, if NAT blocks does not be cached in memory, it generates
    IOs which slows down our foreground operations.
    
    In order to speed up node allocation, in this patch we introduce a new
    free_nid_bitmap array, so there is an bitmap table for each NAT block,
    Once the NAT block is loaded, related bitmap cache will be switched on,
    and bitmap will be set during traversing nat entries in NAT block, later
    we can query and update nid usage status in memory completely.
    
    With such implementation, I expect performance of node allocation can be
    improved in the long-term after filesystem image is mounted.
    Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    4ac91242
node.c 66.1 KB