diff options
author | Prakash Surya <[email protected]> | 2014-01-03 11:40:52 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-02-21 16:10:49 -0800 |
commit | 94520ca4626c7b01340473bccdaa3ed038a85a8f (patch) | |
tree | d5e2d58a193a19cdc12a14d15dc8f57d8e244c1f /config | |
parent | 1e3cb67b53fba067fd7bf9a13d21b53de4626dc1 (diff) |
Prune metadata from ghost lists in arc_adjust_meta
To maintain a strict limit on the metadata contained in the arc, while
preventing the arc buffer headers from completely consuming the
"arc_meta_used" space, we need to evict metadata buffers from the arc's
ghost lists along with the regular lists.
This change modifies arc_adjust_meta such that it more closely models
the adjustments made in arc_adjust. "arc_meta_used" is used similarly to
"arc_size", and "arc_meta_limit" is used similarly to "arc_c".
Testing metadata intensive workloads (e.g. creating, copying, and
removing millions of small files and/or directories) has shown this
change to make a dramatic improvement to the hit rate maintained in the
arc. While I think there is still room for improvement, this is a big
step in the right direction.
In addition, zpl_free_cached_objects was made into a no-op as I'm not
yet sure how to properly implement that function.
Signed-off-by: Prakash Surya <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Issue #2110
Diffstat (limited to 'config')
0 files changed, 0 insertions, 0 deletions