• Damien Le Moal's avatar
    f2fs: Reduce zoned block device memory usage · 95175daf
    Damien Le Moal authored
    For zoned block devices, an array of zone types for each device is
    allocated and initialized in order to determine if a section is stored
    on a sequential zone (zone reset needed) or a conventional zone (no
    zone reset needed and regular discard applies). Considering this usage,
    the zone types stored in memory can be replaced with a bitmap to
    indicate an equivalent information, that is, if a zone is sequential or
    not. This reduces the memory usage for each zoned device by roughly 8:
    on a 14TB disk with zones of 256 MB, the zone type array consumes
    13x4KB pages while the bitmap uses only 2x4KB pages.
    
    This patch changes the f2fs_dev_info structure blkz_type field to the
    bitmap blkz_seq. Access to this bitmap is done using the helper
    function f2fs_blkz_is_seq(), which is a rewrite of the function
    get_blkz_type().
    Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
    Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    95175daf
f2fs.h 115 KB