]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
Merge pull request #4792 from kylinstorage/wip-writeback-throttling-for-cache-tiering
authorLi Wang <liwang@ubuntukylin.com>
Tue, 23 Jun 2015 07:15:47 +0000 (15:15 +0800)
committerLi Wang <liwang@ubuntukylin.com>
Tue, 23 Jun 2015 07:15:47 +0000 (15:15 +0800)
commitc1bd02c978e9943674f9f21fb0a0f1141c81e44e
treee79cbbab4a972741217edaae6ba08ae195d6d566
parent1dce70efde874c889d22cec99c8b55dd6740460b
parent7aba9476e6af0100c7d0945b591355f06b7bc2da
Merge pull request #4792 from kylinstorage/wip-writeback-throttling-for-cache-tiering

Wip writeback throttling for cache tiering

This patch is to do write back throttling for cache tiering, which is similar to what the Linux kernel does for  page cache write back.  A paramter 'cache_target_dirty_high_ratio'  (default 0.6) is introduced as the high speed flushing threshold, while leave the 'cache_target_dirty_ratio' (default 0.4) to represent the low speed  threshold. The flush speed is controlled by limiting the parallelism of flushing. The maximum parallelism under low speed is half of the parallelism under high speed. If there is at least one PG such that the dirty ratio beyond the high threshold, full speed mode is entered; If there is no PG such that dirty ratio beyond the low threshold, idle mode is entered; In other cases, slow speed mode is entered.

Signed-off-by: Mingxin Liu <mingxinliu@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
Suggested-by: Nick Fisk <nick@fisk.me.uk>
Tested-by: Kefu Chai <kchai@redhat.com>
14 files changed:
doc/dev/cache-pool.rst
doc/rados/operations/cache-tiering.rst
doc/rados/operations/pools.rst
qa/workunits/cephtool/test.sh
src/common/config_opts.h
src/mon/MonCommands.h
src/mon/OSDMonitor.cc
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.h
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h
src/osd/osd_types.cc
src/osd/osd_types.h