Skip to content
  • Dave Chinner's avatar
    xfs: reduce the number of CIL lock round trips during commit · d1583a38
    Dave Chinner authored
    
    
    When commiting a transaction, we do a lock CIL state lock round trip
    on every single log vector we insert into the CIL. This is resulting
    in the lock being as hot as the inode and dcache locks on 8-way
    create workloads. Rework the insertion loops to bring the number
    of lock round trips to one per transaction for log vectors, and one
    more do the busy extents.
    
    Also change the allocation of the log vector buffer not to zero it
    as we copy over the entire allocated buffer anyway.
    
    This patch also includes a structural cleanup to the CIL item
    insertion provided by Christoph Hellwig.
    
    Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarAlex Elder <aelder@sgi.com>
    d1583a38