summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2017-04-18 15:03:15 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2017-05-08 16:28:08 -0700
commite9b7e2e3bbc3cb0dd0a4f3af2c1a679d307a0380 (patch)
treeaeb2d0b9ee388f052449483bf887f92b98048747
parentb16a719c967a5e27c036f0435ce0632983d1a857 (diff)
f2fs: assign allocation hint for warm/cold data
This patch gives slower device region to warm/cold data area more eagerly. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/gc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 39b738dc36c7..f3102a895c48 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -1033,4 +1033,9 @@ void build_gc_manager(struct f2fs_sb_info *sbi)
sbi->fggc_threshold = div64_u64((main_count - ovp_count) *
BLKS_PER_SEC(sbi), (main_count - resv_count));
+
+ /* give warm/cold data area from slower device */
+ if (sbi->s_ndevs && sbi->segs_per_sec == 1)
+ SIT_I(sbi)->last_victim[ALLOC_NEXT] =
+ GET_SEGNO(sbi, FDEV(0).end_blk) + 1;
}