diff options
author | 2016-02-22 18:23:47 -0500 | |
---|---|---|
committer | 2016-02-22 18:23:47 -0500 | |
commit | f0c8b46238db9d51ef9ea0858259958d0c601cec (patch) | |
tree | 67a5822eb2c25bf5c89e6e52a81e6fc8cde7d7ba /tools/perf/scripts/python/export-to-postgresql.py | |
parent | mbcache2: limit cache size (diff) | |
download | wireguard-linux-f0c8b46238db9d51ef9ea0858259958d0c601cec.tar.xz wireguard-linux-f0c8b46238db9d51ef9ea0858259958d0c601cec.zip |
mbcache2: Use referenced bit instead of LRU
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: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions