• Ritesh Harjani's avatar
    ext4: improve fast_commit performance and scalability · b3998b3b
    Ritesh Harjani authored
    Currently ext4_fc_commit_dentry_updates() is of quadratic time
    complexity, which is causing performance bottlenecks with high
    threads/file/dir count with fs_mark.
    
    This patch makes commit dentry updates (and hence ext4_fc_commit()) path
    to linear time complexity. Hence improves the performance of workloads
    which does fsync on multiple threads/open files one-by-one.
    
    Absolute numbers in avg file creates per sec (from fs_mark in 1K order)
    =======================================================================
    no.     Order   without-patch(K)   with-patch(K)   Diff(%)
    1       1        16.90              17.51           +3.60
    2       2,2      32.08              31.80           -0.87
    3       3,3      53.97              55.01           +1.92
    4       4,4      78.94              76.90           -2.58
    5       5,5      95.82              95.37           -0.46
    6       6,6      87.92              103.38          +17.58
    7       6,10      0.73              126.13   ...
    b3998b3b
ext4.h 135 KB