]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/seastore: improve GC policies with modify-time
authorYingxin Cheng <yingxin.cheng@intel.com>
Fri, 24 Jun 2022 05:25:51 +0000 (13:25 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Wed, 29 Jun 2022 06:47:49 +0000 (14:47 +0800)
commit38825aa3a88cf4eb35ada14a921e7a4858f7d60c
treefc19d06d6e75e834303efdb202c81dc614377319
parent361d1c1ec0cad0233a14aeb41379b027a7d75170
crimson/os/seastore: improve GC policies with modify-time

* record_header_t to store the average modify time for dirty extents.
* Drop tracking rewrite-time.
* Drop the last-modify field in extent_info_t.
* Maintain modify-time during rewriting.
* Introduce 3 GC policies: greedy, benefit, and cost-benefit.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
18 files changed:
src/crimson/os/seastore/async_cleaner.cc
src/crimson/os/seastore/async_cleaner.h
src/crimson/os/seastore/btree/fixed_kv_btree.h
src/crimson/os/seastore/cache.cc
src/crimson/os/seastore/cache.h
src/crimson/os/seastore/cached_extent.h
src/crimson/os/seastore/extent_placement_manager.cc
src/crimson/os/seastore/journal.h
src/crimson/os/seastore/journal/circular_bounded_journal.cc
src/crimson/os/seastore/journal/segment_allocator.cc
src/crimson/os/seastore/journal/segment_allocator.h
src/crimson/os/seastore/journal/segmented_journal.cc
src/crimson/os/seastore/seastore_types.cc
src/crimson/os/seastore/seastore_types.h
src/crimson/os/seastore/transaction_manager.cc
src/crimson/os/seastore/transaction_manager.h
src/test/crimson/seastore/test_btree_lba_manager.cc
src/test/crimson/seastore/test_seastore_journal.cc