• D
    [XFS] Prevent AIL lock contention during transaction completion · b589334c
    David Chinner 提交于
    When hundreds of processors attempt to commit transactions at the same
    time, they can contend on the AIL lock when updating the tail LSN held in
    the in-core log structure.
    
    At the moment, the tail LSN is only needed when actually writing out an
    iclog, so it really does not need to be updated on every single
    transaction completion - only those that result in switching iclogs and
    flushing them to disk.
    
    The result is that we reduce the number of times we need to grab the AIL
    lock and the log grant lock by up to two orders of magnitude on large
    processor count machines. The problem has previously been hidden by AIL
    lock contention walking the AIL list which was recently solved and
    uncovered this issue.
    
    SGI-PV: 975671
    SGI-Modid: xfs-linux-melb:xfs-kern:30504a
    Signed-off-by: NDavid Chinner <dgc@sgi.com>
    Signed-off-by: NTim Shimmin <tes@sgi.com>
    Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
    b589334c
xfs_log.c 107.0 KB