• Nick Piggin's avatar
    [XFS] remove old vmap cache · d2859751
    Nick Piggin authored
    XFS's vmap batching simply defers a number (up to 64) of vunmaps, and keeps
    track of them in a list. To purge the batch, it just goes through the list and
    calls vunamp on each one. This is pretty poor: a global TLB flush is generally
    still performed on each vunmap, with the most expensive parts of the operation
    being the broadcast IPIs and locking involved in the SMP callouts, and the
    locking involved in the vmap management -- none of these are avoided by just
    batching up the calls. I'm actually surprised it ever made much difference.
    (Now that the lazy vmap allocator is upstream, this description is not quite
    right, but the vunmap batching still doesn't seem to do much)
    
    Rip all this logic out of XFS completely. I will improve vmap performance
    and scalability directly in subsequent patch.
    Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
    Reviewed-by: default avatarChristoph Hellwig <hch@infradead.org>
    Signed-off-by: default avatarLachlan McIlroy <lachlan@sgi.com>
    d2859751
xfs_buf.c 39.5 KB