summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2013-05-10 14:37:16 +0100
committerAlasdair G Kergon <agk@redhat.com>2013-05-10 14:37:16 +0100
commitf8350daf7af05e3b8cf98e9550de3f623af03fe7 (patch)
tree109342db8572f7fa15784ffb8bdf2b3b0dca258c
parent042bcef889f4319d366c67fb694f1f2498fcb68e (diff)
downloadlinux-3.10-f8350daf7af05e3b8cf98e9550de3f623af03fe7.tar.gz
linux-3.10-f8350daf7af05e3b8cf98e9550de3f623af03fe7.tar.bz2
linux-3.10-f8350daf7af05e3b8cf98e9550de3f623af03fe7.zip
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 6feaba24fca..c3c18527da3 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)
static void do_waker(struct work_struct *ws)
{
struct cache *cache = container_of(to_delayed_work(ws), struct cache, waker);
+ policy_tick(cache->policy);
wake_worker(cache);
queue_delayed_work(cache->wq, &cache->waker, COMMIT_PERIOD);
}
@@ -1886,7 +1887,7 @@ static sector_t calculate_discard_block_size(sector_t cache_block_size,
return discard_block_size;
}
-#define DEFAULT_MIGRATION_THRESHOLD (2048 * 100)
+#define DEFAULT_MIGRATION_THRESHOLD 2048
static int cache_create(struct cache_args *ca, struct cache **result)
{