• Zhang Yi's avatar
    ext4: drop unnecessary journal handle in delalloc write · cc883236
    Zhang Yi authored
    After we factor out the inline data write procedure from
    ext4_da_write_end(), we don't need to start journal handle for the cases
    of both buffer overwrite and append-write. If we need to update
    i_disksize, mark_inode_dirty() do start handle and update inode buffer.
    So we could just remove all the journal handle codes in the delalloc
    write procedure.
    
    After this patch, we could get a lot of performance improvement. Below
    is the Unixbench comparison data test on my machine with 'Intel Xeon
    Gold 5120' CPU and nvme SSD backend.
    
    Test cmd:
    
      ./Run -c 56 -i 3 fstime fsbuffer fsdisk
    
    Before this patch:
    
      System Benchmarks Partial Index           BASELINE       RESULT   INDEX
      File Copy 1024 bufsize 2000 maxblocks       3960.0     422965.0   1068.1
      File Copy 256 bufsize 500 maxblocks         1655.0     105077.0   634.9
      File Copy 4096 bufsize 8000 maxblocks       5800.0    1429092.0   2464.0
                                                                        ======
      System Benchmarks Index Score (Partial Only)                      1186.6
    
    After this patch:
    
      System Benchmarks Partial Index           BASELINE       RESULT   INDEX
      File Copy 1024 bufsize 2000 maxblocks       3960.0     732716.0   1850.3
      File Copy 256 bufsize 500 maxblocks         1655.0     184940.0   1117.5
      File Copy 4096 bufsize 8000 maxblocks       5800.0    2427152.0   4184.7
                                                                        ======
      System Benchmarks Index Score (Partial Only)                      2053.0
    Signed-off-by: default avatarZhang Yi <yi.zhang@huawei.com>
    Reviewed-by: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Link: https://lore.kernel.org/r/20210716122024.1105856-5-yi.zhang@huawei.com
    cc883236
inode.c 177 KB