2013-03-02 03:40:46

by Namjae Jeon

[permalink] [raw]
Subject: [PATCH 1/5] f2fs: change victim segmap test condition in get_victim_by_default

From: Namjae Jeon <[email protected]>

Instead of checking for victim_segmap(FG_GC) OR
(gc_type == BG_GC) && victim_segmap(BG_GC);
to continue for the victim selection. The 2 conditions
can simply be merged and decision can directly be made using 'gc_type'.

Signed-off-by: Namjae Jeon <[email protected]>
Signed-off-by: Amit Sahrawat <[email protected]>
---
fs/f2fs/gc.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 94b8a0c..16b4148 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -266,10 +266,7 @@ static int get_victim_by_default(struct f2fs_sb_info *sbi,
}
p.offset = ((segno / p.ofs_unit) * p.ofs_unit) + p.ofs_unit;

- if (test_bit(segno, dirty_i->victim_segmap[FG_GC]))
- continue;
- if (gc_type == BG_GC &&
- test_bit(segno, dirty_i->victim_segmap[BG_GC]))
+ if (test_bit(segno, dirty_i->victim_segmap[gc_type]))
continue;
if (IS_CURSEC(sbi, GET_SECNO(sbi, segno)))
continue;
--
1.7.9.5


2013-03-03 04:18:21

by Jaegeuk Kim

[permalink] [raw]
Subject: Re: [PATCH 1/5] f2fs: change victim segmap test condition in get_victim_by_default

2013-03-02 (토), 12:40 +0900, Namjae Jeon:
> From: Namjae Jeon <[email protected]>
>
> Instead of checking for victim_segmap(FG_GC) OR
> (gc_type == BG_GC) && victim_segmap(BG_GC);
> to continue for the victim selection. The 2 conditions
> can simply be merged and decision can directly be made using 'gc_type'.
>
> Signed-off-by: Namjae Jeon <[email protected]>
> Signed-off-by: Amit Sahrawat <[email protected]>
> ---
> fs/f2fs/gc.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
> index 94b8a0c..16b4148 100644
> --- a/fs/f2fs/gc.c
> +++ b/fs/f2fs/gc.c
> @@ -266,10 +266,7 @@ static int get_victim_by_default(struct f2fs_sb_info *sbi,
> }
> p.offset = ((segno / p.ofs_unit) * p.ofs_unit) + p.ofs_unit;
>
> - if (test_bit(segno, dirty_i->victim_segmap[FG_GC]))
> - continue;
> - if (gc_type == BG_GC &&
> - test_bit(segno, dirty_i->victim_segmap[BG_GC]))
> + if (test_bit(segno, dirty_i->victim_segmap[gc_type]))

Negative.
We should check FG_GC all the time.
Thanks,

> continue;
> if (IS_CURSEC(sbi, GET_SECNO(sbi, segno)))
> continue;

--
Jaegeuk Kim
Samsung


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part