* [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold @ 2017-10-17 12:42 sunqiuyang 2017-10-17 14:33 ` Chao Yu 0 siblings, 1 reply; 6+ messages in thread From: sunqiuyang @ 2017-10-17 12:42 UTC (permalink / raw) To: linux-f2fs-devel; +Cc: sunqiuyang From: Qiuyang Sun <sunqiuyang@huawei.com> Do not need to convert segment counts to blocks for this calculation. Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com> --- fs/f2fs/gc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 197ebf4..9df8cae 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -1073,16 +1073,16 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, void build_gc_manager(struct f2fs_sb_info *sbi) { - u64 main_count, resv_count, ovp_count; + unsigned int main_count, resv_count, ovp_count; DIRTY_I(sbi)->v_ops = &default_v_ops; /* threshold of # of valid blocks in a section for victims of FG_GC */ - main_count = SM_I(sbi)->main_segments << sbi->log_blocks_per_seg; - resv_count = SM_I(sbi)->reserved_segments << sbi->log_blocks_per_seg; - ovp_count = SM_I(sbi)->ovp_segments << sbi->log_blocks_per_seg; + main_count = SM_I(sbi)->main_segments; + resv_count = SM_I(sbi)->reserved_segments; + ovp_count = SM_I(sbi)->ovp_segments; - sbi->fggc_threshold = div64_u64((main_count - ovp_count) * + sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * BLKS_PER_SEC(sbi), (main_count - resv_count)); /* give warm/cold data area from slower device */ -- 1.8.3.1 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold 2017-10-17 12:42 [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold sunqiuyang @ 2017-10-17 14:33 ` Chao Yu 2017-10-27 3:13 ` Sun Qiuyang 0 siblings, 1 reply; 6+ messages in thread From: Chao Yu @ 2017-10-17 14:33 UTC (permalink / raw) To: sunqiuyang, linux-f2fs-devel On 2017/10/17 20:42, sunqiuyang wrote: > From: Qiuyang Sun <sunqiuyang@huawei.com> > > Do not need to convert segment counts to blocks for this calculation. > > Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com> Reviewed-by: Chao Yu <yuchao0@huawei.com> Thanks, > --- > fs/f2fs/gc.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c > index 197ebf4..9df8cae 100644 > --- a/fs/f2fs/gc.c > +++ b/fs/f2fs/gc.c > @@ -1073,16 +1073,16 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, > > void build_gc_manager(struct f2fs_sb_info *sbi) > { > - u64 main_count, resv_count, ovp_count; > + unsigned int main_count, resv_count, ovp_count; > > DIRTY_I(sbi)->v_ops = &default_v_ops; > > /* threshold of # of valid blocks in a section for victims of FG_GC */ > - main_count = SM_I(sbi)->main_segments << sbi->log_blocks_per_seg; > - resv_count = SM_I(sbi)->reserved_segments << sbi->log_blocks_per_seg; > - ovp_count = SM_I(sbi)->ovp_segments << sbi->log_blocks_per_seg; > + main_count = SM_I(sbi)->main_segments; > + resv_count = SM_I(sbi)->reserved_segments; > + ovp_count = SM_I(sbi)->ovp_segments; > > - sbi->fggc_threshold = div64_u64((main_count - ovp_count) * > + sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * > BLKS_PER_SEC(sbi), (main_count - resv_count)); > > /* give warm/cold data area from slower device */ > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold 2017-10-17 14:33 ` Chao Yu @ 2017-10-27 3:13 ` Sun Qiuyang [not found] ` <249859c1-668d-5236-ec6f-1f35b9843f42@huawei.com> 0 siblings, 1 reply; 6+ messages in thread From: Sun Qiuyang @ 2017-10-27 3:13 UTC (permalink / raw) To: jaegeuk; +Cc: linux-f2fs-devel Hi Jaegeuk, I noticed that the log of the commit: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/commit/?h=dev-test&id=7e515b31d44dcd20a98c938dfdc21877a30042a0 used a new expression as follows: sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * BLKS_PER_SEC(sbi), (main_count - resv_count)); This might originate from my patch below, which has been merged into the f2fs-dev branch of kernel/git/chao/linux.git, but not kernel/git/jaegeuk/f2fs.git yet. So, would you like to consider merging my patch as well? Thanks, > On 2017/10/17 20:42, sunqiuyang wrote: >> From: Qiuyang Sun <sunqiuyang@huawei.com> >> >> Do not need to convert segment counts to blocks for this calculation. >> >> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com> > > Reviewed-by: Chao Yu <yuchao0@huawei.com> > > Thanks, > >> --- >> fs/f2fs/gc.c | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c >> index 197ebf4..9df8cae 100644 >> --- a/fs/f2fs/gc.c >> +++ b/fs/f2fs/gc.c >> @@ -1073,16 +1073,16 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, >> >> void build_gc_manager(struct f2fs_sb_info *sbi) >> { >> - u64 main_count, resv_count, ovp_count; >> + unsigned int main_count, resv_count, ovp_count; >> >> DIRTY_I(sbi)->v_ops = &default_v_ops; >> >> /* threshold of # of valid blocks in a section for victims of FG_GC */ >> - main_count = SM_I(sbi)->main_segments << sbi->log_blocks_per_seg; >> - resv_count = SM_I(sbi)->reserved_segments << sbi->log_blocks_per_seg; >> - ovp_count = SM_I(sbi)->ovp_segments << sbi->log_blocks_per_seg; >> + main_count = SM_I(sbi)->main_segments; >> + resv_count = SM_I(sbi)->reserved_segments; >> + ovp_count = SM_I(sbi)->ovp_segments; >> >> - sbi->fggc_threshold = div64_u64((main_count - ovp_count) * >> + sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * >> BLKS_PER_SEC(sbi), (main_count - resv_count)); >> >> /* give warm/cold data area from slower device */ >> > > . > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <249859c1-668d-5236-ec6f-1f35b9843f42@huawei.com>]
* Re: Fwd: Re: [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold [not found] ` <249859c1-668d-5236-ec6f-1f35b9843f42@huawei.com> @ 2017-10-27 3:47 ` Chao Yu 2017-10-27 11:42 ` Jaegeuk Kim 0 siblings, 1 reply; 6+ messages in thread From: Chao Yu @ 2017-10-27 3:47 UTC (permalink / raw) To: Jaegeuk Kim; +Cc: Sun Qiuyang, linux-f2fs-devel@lists.sourceforge.net On 2017/10/27 11:43, Sun Qiuyang wrote: > > Hi Jaegeuk, > > I noticed that the log of the commit: > > https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/commit/?h=dev-test&id=7e515b31d44dcd20a98c938dfdc21877a30042a0 > > used a new expression as follows: > > sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * > BLKS_PER_SEC(sbi), (main_count - resv_count)); > > This might originate from my patch below, which has been merged into the > f2fs-dev branch of kernel/git/chao/linux.git, but not > kernel/git/jaegeuk/f2fs.git yet. > > So, would you like to consider merging my patch as well? As you see, I have reviewed this patch, since it looks good to me. ;) But forgot to remind Jaegeuk to merge this, sorry. Anyway, how do you think of this cleanup? Jaegeuk. Thanks, > > Thanks, > > >> On 2017/10/17 20:42, sunqiuyang wrote: >>> From: Qiuyang Sun <sunqiuyang@huawei.com> >>> >>> Do not need to convert segment counts to blocks for this calculation. >>> >>> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com> >> >> Reviewed-by: Chao Yu <yuchao0@huawei.com> >> >> Thanks, >> >>> --- >>> fs/f2fs/gc.c | 10 +++++----- >>> 1 file changed, 5 insertions(+), 5 deletions(-) >>> >>> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c >>> index 197ebf4..9df8cae 100644 >>> --- a/fs/f2fs/gc.c >>> +++ b/fs/f2fs/gc.c >>> @@ -1073,16 +1073,16 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, >>> >>> void build_gc_manager(struct f2fs_sb_info *sbi) >>> { >>> - u64 main_count, resv_count, ovp_count; >>> + unsigned int main_count, resv_count, ovp_count; >>> >>> DIRTY_I(sbi)->v_ops = &default_v_ops; >>> >>> /* threshold of # of valid blocks in a section for victims of FG_GC */ >>> - main_count = SM_I(sbi)->main_segments << sbi->log_blocks_per_seg; >>> - resv_count = SM_I(sbi)->reserved_segments << sbi->log_blocks_per_seg; >>> - ovp_count = SM_I(sbi)->ovp_segments << sbi->log_blocks_per_seg; >>> + main_count = SM_I(sbi)->main_segments; >>> + resv_count = SM_I(sbi)->reserved_segments; >>> + ovp_count = SM_I(sbi)->ovp_segments; >>> >>> - sbi->fggc_threshold = div64_u64((main_count - ovp_count) * >>> + sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * >>> BLKS_PER_SEC(sbi), (main_count - resv_count)); >>> >>> /* give warm/cold data area from slower device */ >>> >> >> . >> > > > . > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Fwd: Re: [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold 2017-10-27 3:47 ` Fwd: " Chao Yu @ 2017-10-27 11:42 ` Jaegeuk Kim 2017-10-27 12:31 ` Chao Yu 0 siblings, 1 reply; 6+ messages in thread From: Jaegeuk Kim @ 2017-10-27 11:42 UTC (permalink / raw) To: Chao Yu; +Cc: Sun Qiuyang, linux-f2fs-devel@lists.sourceforge.net On 10/27, Chao Yu wrote: > On 2017/10/27 11:43, Sun Qiuyang wrote: > > > > Hi Jaegeuk, > > > > I noticed that the log of the commit: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/commit/?h=dev-test&id=7e515b31d44dcd20a98c938dfdc21877a30042a0 > > > > used a new expression as follows: > > > > sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * > > BLKS_PER_SEC(sbi), (main_count - resv_count)); > > > > This might originate from my patch below, which has been merged into the > > f2fs-dev branch of kernel/git/chao/linux.git, but not > > kernel/git/jaegeuk/f2fs.git yet. > > > > So, would you like to consider merging my patch as well? > > As you see, I have reviewed this patch, since it looks good to me. ;) > But forgot to remind Jaegeuk to merge this, sorry. So, why do we have to do this? We're calculating this based on # of blocks. If we don't use this patch, didn't we need the Chao's patch as well? Thanks, > > Anyway, how do you think of this cleanup? Jaegeuk. > > Thanks, > > > > > Thanks, > > > > > >> On 2017/10/17 20:42, sunqiuyang wrote: > >>> From: Qiuyang Sun <sunqiuyang@huawei.com> > >>> > >>> Do not need to convert segment counts to blocks for this calculation. > >>> > >>> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com> > >> > >> Reviewed-by: Chao Yu <yuchao0@huawei.com> > >> > >> Thanks, > >> > >>> --- > >>> fs/f2fs/gc.c | 10 +++++----- > >>> 1 file changed, 5 insertions(+), 5 deletions(-) > >>> > >>> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c > >>> index 197ebf4..9df8cae 100644 > >>> --- a/fs/f2fs/gc.c > >>> +++ b/fs/f2fs/gc.c > >>> @@ -1073,16 +1073,16 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, > >>> > >>> void build_gc_manager(struct f2fs_sb_info *sbi) > >>> { > >>> - u64 main_count, resv_count, ovp_count; > >>> + unsigned int main_count, resv_count, ovp_count; > >>> > >>> DIRTY_I(sbi)->v_ops = &default_v_ops; > >>> > >>> /* threshold of # of valid blocks in a section for victims of FG_GC */ > >>> - main_count = SM_I(sbi)->main_segments << sbi->log_blocks_per_seg; > >>> - resv_count = SM_I(sbi)->reserved_segments << sbi->log_blocks_per_seg; > >>> - ovp_count = SM_I(sbi)->ovp_segments << sbi->log_blocks_per_seg; > >>> + main_count = SM_I(sbi)->main_segments; > >>> + resv_count = SM_I(sbi)->reserved_segments; > >>> + ovp_count = SM_I(sbi)->ovp_segments; > >>> > >>> - sbi->fggc_threshold = div64_u64((main_count - ovp_count) * > >>> + sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * > >>> BLKS_PER_SEC(sbi), (main_count - resv_count)); > >>> > >>> /* give warm/cold data area from slower device */ > >>> > >> > >> . > >> > > > > > > . > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Fwd: Re: [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold 2017-10-27 11:42 ` Jaegeuk Kim @ 2017-10-27 12:31 ` Chao Yu 0 siblings, 0 replies; 6+ messages in thread From: Chao Yu @ 2017-10-27 12:31 UTC (permalink / raw) To: Jaegeuk Kim, Chao Yu; +Cc: Sun Qiuyang, linux-f2fs-devel@lists.sourceforge.net On 2017/10/27 19:42, Jaegeuk Kim wrote: > On 10/27, Chao Yu wrote: >> On 2017/10/27 11:43, Sun Qiuyang wrote: >>> >>> Hi Jaegeuk, >>> >>> I noticed that the log of the commit: >>> >>> https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/commit/?h=dev-test&id=7e515b31d44dcd20a98c938dfdc21877a30042a0 >>> >>> used a new expression as follows: >>> >>> sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * >>> BLKS_PER_SEC(sbi), (main_count - resv_count)); >>> >>> This might originate from my patch below, which has been merged into the >>> f2fs-dev branch of kernel/git/chao/linux.git, but not >>> kernel/git/jaegeuk/f2fs.git yet. >>> >>> So, would you like to consider merging my patch as well? >> >> As you see, I have reviewed this patch, since it looks good to me. ;) >> But forgot to remind Jaegeuk to merge this, sorry. > > So, why do we have to do this? We're calculating this based on # of blocks. > If we don't use this patch, didn't we need the Chao's patch as well? Only connection of these two patches is that comments in my patch referenced codes which Qiuyang's patch modified: sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * BLKS_PER_SEC(sbi), (main_count - resv_count)); For content of two patches, they are irrelevant. Thanks, > > Thanks, > >> >> Anyway, how do you think of this cleanup? Jaegeuk. >> >> Thanks, >> >>> >>> Thanks, >>> >>> >>>> On 2017/10/17 20:42, sunqiuyang wrote: >>>>> From: Qiuyang Sun <sunqiuyang@huawei.com> >>>>> >>>>> Do not need to convert segment counts to blocks for this calculation. >>>>> >>>>> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com> >>>> >>>> Reviewed-by: Chao Yu <yuchao0@huawei.com> >>>> >>>> Thanks, >>>> >>>>> --- >>>>> fs/f2fs/gc.c | 10 +++++----- >>>>> 1 file changed, 5 insertions(+), 5 deletions(-) >>>>> >>>>> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c >>>>> index 197ebf4..9df8cae 100644 >>>>> --- a/fs/f2fs/gc.c >>>>> +++ b/fs/f2fs/gc.c >>>>> @@ -1073,16 +1073,16 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, >>>>> >>>>> void build_gc_manager(struct f2fs_sb_info *sbi) >>>>> { >>>>> - u64 main_count, resv_count, ovp_count; >>>>> + unsigned int main_count, resv_count, ovp_count; >>>>> >>>>> DIRTY_I(sbi)->v_ops = &default_v_ops; >>>>> >>>>> /* threshold of # of valid blocks in a section for victims of FG_GC */ >>>>> - main_count = SM_I(sbi)->main_segments << sbi->log_blocks_per_seg; >>>>> - resv_count = SM_I(sbi)->reserved_segments << sbi->log_blocks_per_seg; >>>>> - ovp_count = SM_I(sbi)->ovp_segments << sbi->log_blocks_per_seg; >>>>> + main_count = SM_I(sbi)->main_segments; >>>>> + resv_count = SM_I(sbi)->reserved_segments; >>>>> + ovp_count = SM_I(sbi)->ovp_segments; >>>>> >>>>> - sbi->fggc_threshold = div64_u64((main_count - ovp_count) * >>>>> + sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) * >>>>> BLKS_PER_SEC(sbi), (main_count - resv_count)); >>>>> >>>>> /* give warm/cold data area from slower device */ >>>>> >>>> >>>> . >>>> >>> >>> >>> . >>> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-10-27 12:31 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-10-17 12:42 [PATCH 1/1] f2fs: simplify the calculation of fggc_threshold sunqiuyang 2017-10-17 14:33 ` Chao Yu 2017-10-27 3:13 ` Sun Qiuyang [not found] ` <249859c1-668d-5236-ec6f-1f35b9843f42@huawei.com> 2017-10-27 3:47 ` Fwd: " Chao Yu 2017-10-27 11:42 ` Jaegeuk Kim 2017-10-27 12:31 ` Chao Yu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).