Commit 49b7f768 authored by Joe Thornber's avatar Joe Thornber Committed by Mike Snitzer

dm cache: simplify the IDLE vs BUSY state calculation

Drop the MODERATE state since it wasn't buying us much.

Also, in check_migrations(), prepare for the next commit ("dm cache
policy smq: don't do any writebacks unless IDLE") by deferring to the
policy to make the final decision on whether writebacks can be
serviced.
Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent 701e03e4
...@@ -1718,7 +1718,6 @@ static int invalidate_start(struct cache *cache, dm_cblock_t cblock, ...@@ -1718,7 +1718,6 @@ static int invalidate_start(struct cache *cache, dm_cblock_t cblock,
enum busy { enum busy {
IDLE, IDLE,
MODERATE,
BUSY BUSY
}; };
...@@ -1728,10 +1727,10 @@ static enum busy spare_migration_bandwidth(struct cache *cache) ...@@ -1728,10 +1727,10 @@ static enum busy spare_migration_bandwidth(struct cache *cache)
sector_t current_volume = (atomic_read(&cache->nr_io_migrations) + 1) * sector_t current_volume = (atomic_read(&cache->nr_io_migrations) + 1) *
cache->sectors_per_block; cache->sectors_per_block;
if (current_volume <= cache->migration_threshold) if (idle && current_volume <= cache->migration_threshold)
return idle ? IDLE : MODERATE; return IDLE;
else else
return idle ? MODERATE : BUSY; return BUSY;
} }
static void inc_hit_counter(struct cache *cache, struct bio *bio) static void inc_hit_counter(struct cache *cache, struct bio *bio)
...@@ -2047,8 +2046,6 @@ static void check_migrations(struct work_struct *ws) ...@@ -2047,8 +2046,6 @@ static void check_migrations(struct work_struct *ws)
for (;;) { for (;;) {
b = spare_migration_bandwidth(cache); b = spare_migration_bandwidth(cache);
if (b == BUSY)
break;
r = policy_get_background_work(cache->policy, b == IDLE, &op); r = policy_get_background_work(cache->policy, b == IDLE, &op);
if (r == -ENODATA) if (r == -ENODATA)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment