hammer2 - Refactor LRU chain recycling

Operating Systems / DragonFlyBSD - Matthew Dillon [apollo.backplane.com] - 17 March 2018 08:31 EDT

- Refactor LRU chain recycling by allowing a chain to remain on the LRU even if it gets referenced again. This will be detected and handled properly if the LRU tries to recycle the chain.

- Improved LRU performance by avoiding unnecessary global-ish spinlocks.

- Also fixes a rare flagging/list race.

f94a23f56f hammer2 - Refactor LRU chain recycling
sys/vfs/hammer2/hammer2.h | 10 ++-
sys/vfs/hammer2/hammer2_chain.c | 161 ++++++++++++++++++++++++++++++++-------
sys/vfs/hammer2/hammer2_vfsops.c | 41 +++++-----
3 files changed, 166 insertions(+), 46 deletions(-)

Upstream: gitweb.dragonflybsd.org


  • Share