aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2013-05-10 09:37:16 -0400
committerAlasdair G Kergon <agk@redhat.com>2013-05-10 09:37:16 -0400
commitf8350daf7af05e3b8cf98e9550de3f623af03fe7 (patch)
tree109342db8572f7fa15784ffb8bdf2b3b0dca258c
parent042bcef889f4319d366c67fb694f1f2498fcb68e (diff)
dm cache: tune migration throttling
Tune the dm cache migration throttling. i) Issue a tick every second, just in case there's no i/o going through. ii) Drop the migration threshold right down to something suitable for background work. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
-rw-r--r--drivers/md/dm-cache-target.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
index 6feaba24fcac..c3c18527da39 100644
--- a/drivers/md/dm-cache-target.c
+++ b/drivers/md/dm-cache-target.c
@@ -1445,6 +1445,7 @@ static void do_worker(struct work_struct *ws)
1445static void do_waker(struct work_struct *ws) 1445static void do_waker(struct work_struct *ws)
1446{ 1446{
1447 struct cache *cache = container_of(to_delayed_work(ws), struct cache, waker); 1447 struct cache *cache = container_of(to_delayed_work(ws), struct cache, waker);
1448 policy_tick(cache->policy);
1448 wake_worker(cache); 1449 wake_worker(cache);
1449 queue_delayed_work(cache->wq, &cache->waker, COMMIT_PERIOD); 1450 queue_delayed_work(cache->wq, &cache->waker, COMMIT_PERIOD);
1450} 1451}
@@ -1886,7 +1887,7 @@ static sector_t calculate_discard_block_size(sector_t cache_block_size,
1886 return discard_block_size; 1887 return discard_block_size;
1887} 1888}
1888 1889
1889#define DEFAULT_MIGRATION_THRESHOLD (2048 * 100) 1890#define DEFAULT_MIGRATION_THRESHOLD 2048
1890 1891
1891static int cache_create(struct cache_args *ca, struct cache **result) 1892static int cache_create(struct cache_args *ca, struct cache **result)
1892{ 1893{