Hi Chao, On 11/30/2017 04:06 PM, Chao Yu wrote: > Hi Hyunchul, > > On 2017/11/28 8:23, Hyunchul Lee wrote: >> From: Hyunchul Lee <cheol.lee@xxxxxxx> >> >> This implements which hint is passed down to block layer >> for datas from the specific segment type. >> >> segment type hints >> ------------ ----- >> COLD_NODE & COLD_DATA WRITE_LIFE_EXTREME >> WARM_DATA WRITE_LIFE_NONE >> HOT_NODE & WARM_NODE WRITE_LIFE_LONG >> HOT_DATA WRITE_LIFE_MEDIUM >> META_DATA WRITE_LIFE_SHORT > > Just noticed, if our user do not give the hint via ioctl, f2fs can > provider hint to lower layer according to hot/cold separation ability, > it will be okay. But once user give his hint which may be more accurate > than filesystem, hint converted by f2fs may be wrong. > > So what do you think of adding an option to control whether filesystem > can convert hint user given? > I think it is okay for LIFE_SHORT and LIFE_EXTREME. because they are converted to different hints. file hint segment type io hint --------- ------------ ------- LIFE_SHORT HOT_DATA LIFE_MEDIUM LIFE_MEDIUM WARM_DATA LIFE_NONE LIFE_LONG WARM_DATA LIFE_NONE LIFE_EXTREME COLD_DATA LIFE_EXTREME the problem is that LIFE_MEDIUM and LIFE_LONG are converted to the same hint, LIFE_NONE. I am not sure that the seperation between LIFE_MEDIUM and LIFE_LONG is really needed. Because I guess that the difference between them is a little ambigous for users, and if WARM_DATA segment has two different hints, it can makes GC non-efficient. I wonder your thought about this. Thanks. > Thanks, > >