• Chao Yu's avatar
    f2fs: introduce inmem curseg · d0b9e42a
    Chao Yu authored
    Previous implementation of aligned pinfile allocation will:
    - allocate new segment on cold data log no matter whether last used
    segment is partially used or not, it makes IOs more random;
    - force concurrent cold data/GCed IO going into warm data area, it
    can make a bad effect on hot/cold data separation;
    
    In this patch, we introduce a new type of log named 'inmem curseg',
    the differents from normal curseg is:
    - it reuses existed segment type (CURSEG_XXX_NODE/DATA);
    - it only exists in memory, its segno, blkofs, summary will not b
     persisted into checkpoint area;
    
    With this new feature, we can enhance scalability of log, special
    allocators can be created for purposes:
    - pure lfs allocator for aligned pinfile allocation or file
    defragmentation
    - pure ssr allocator for later feature
    
    So that, let's update aligned pinfile allocation to use this new
    inmem curseg fwk.
    Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    d0b9e42a
file.c 99.3 KB