Skip to content
  • Jan Kara's avatar
    mbcache2: Use referenced bit instead of LRU · f0c8b462
    Jan Kara authored
    
    
    Currently we maintain perfect LRU list by moving entry to the tail of
    the list when it gets used. However these operations on cache-global
    list are relatively expensive.
    
    In this patch we switch to lazy updates of LRU list. Whenever entry gets
    used, we set a referenced bit in it. When reclaiming entries, we give
    referenced entries another round in the LRU. Since the list is not a
    real LRU anymore, rename it to just 'list'.
    
    In my testing this logic gives about 30% boost to workloads with mostly
    unique xattr blocks (e.g. xattr-bench with 10 files and 10000 unique
    xattr values).
    
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    f0c8b462