• Chao Yu's avatar
    f2fs: reduce stack memory cost by using bitfield in struct f2fs_io_info · 2eae077e
    Chao Yu authored
    This patch tries to use bitfield in struct f2fs_io_info to improve
    memory usage.
    
    struct f2fs_io_info {
    ...
    	unsigned int need_lock:8;	/* indicate we need to lock cp_rwsem */
    	unsigned int version:8;		/* version of the node */
    	unsigned int submitted:1;	/* indicate IO submission */
    	unsigned int in_list:1;		/* indicate fio is in io_list */
    	unsigned int is_por:1;		/* indicate IO is from recovery or not */
    	unsigned int retry:1;		/* need to reallocate block address */
    	unsigned int encrypted:1;	/* indicate file is encrypted */
    	unsigned int post_read:1;	/* require post read */
    ...
    };
    
    After this patch, size of struct f2fs_io_info reduces from 136 to 120.
    
    [Nathan: fix a compile warning (single-bit-bitfield-constant-conversion)]
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarChao Yu <chao@kernel.org>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    2eae077e
gc.c 54.5 KB