* [f2fs-dev] [PATCH] f2fs: change write_hint for hot/warm nodes [not found] <CGME20201103064039epcms2p30ecac0e7cefff0d50745f2e2e61ce38e@epcms2p3> @ 2020-11-03 6:40 ` Daejun Park 2020-11-03 8:28 ` Chao Yu [not found] ` <CGME20201103064039epcms2p30ecac0e7cefff0d50745f2e2e61ce38e@epcms2p8> 0 siblings, 2 replies; 3+ messages in thread From: Daejun Park @ 2020-11-03 6:40 UTC (permalink / raw) To: jaegeuk, chao Cc: linux-f2fs-devel, linux-kernel, SEUNGUK SHIN, Sang-yoon Oh, Sung-Jun Park, yongmyung lee, Daejun Park, Jinyoung CHOI, Jieon Seol, Mankyu PARK, Jaemyung Lee, Keoseong Park From 818a76a9aee5bf225565264274d211edb07bae7d Mon Sep 17 00:00:00 2001 From: Daejun Park <daejun7.park@samsung.com> Date: Tue, 3 Nov 2020 15:30:26 +0900 In the fs-based mode of F2FS, the mapping of hot/warm node to WRITE_LIFE_NOT_SET should be changed to WRITE_LIFE_SHORT. As a result of analyzing the write pattern of f2fs using real workload, hot/warm nodes have high update ratio close to hot data.[*] However, F2FS passes write hints for hot/warm nodes as WRITE_LIFE_NOT_SET. Furthermore, WRITE_LIFE_NOT_SET is a default value of write hint when it is not provided from the file system. In storage, write_hint is used to distinguish streams (e.g. NVMe). So, the hot/warm node of F2FS is not distinguished from other write_hints, which can make the wrong stream seperation. * Liang, Yu, et al. "An empirical study of F2FS on mobile devices." 2017 IEEE 23rd International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). Signed-off-by: Daejun Park <daejun7.park@samsung.com> --- fs/f2fs/segment.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 1596502f7375..7b42bb10c6c3 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -3208,7 +3208,7 @@ enum rw_hint f2fs_io_type_to_rw_hint(struct f2fs_sb_info *sbi, return WRITE_LIFE_EXTREME; } else if (type == NODE) { if (temp == WARM || temp == HOT) - return WRITE_LIFE_NOT_SET; + return WRITE_LIFE_SHORT; else if (temp == COLD) return WRITE_LIFE_NONE; } else if (type == META) { -- 2.25.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [f2fs-dev] [PATCH] f2fs: change write_hint for hot/warm nodes 2020-11-03 6:40 ` [f2fs-dev] [PATCH] f2fs: change write_hint for hot/warm nodes Daejun Park @ 2020-11-03 8:28 ` Chao Yu [not found] ` <CGME20201103064039epcms2p30ecac0e7cefff0d50745f2e2e61ce38e@epcms2p8> 1 sibling, 0 replies; 3+ messages in thread From: Chao Yu @ 2020-11-03 8:28 UTC (permalink / raw) To: daejun7.park, jaegeuk, chao Cc: yongmyung lee, Jieon Seol, Sang-yoon Oh, Mankyu PARK, Sung-Jun Park, linux-kernel, linux-f2fs-devel, Keoseong Park, SEUNGUK SHIN, Jinyoung CHOI, Jaemyung Lee On 2020/11/3 14:40, Daejun Park wrote: >>From 818a76a9aee5bf225565264274d211edb07bae7d Mon Sep 17 00:00:00 2001 > From: Daejun Park <daejun7.park@samsung.com> > Date: Tue, 3 Nov 2020 15:30:26 +0900 > > > In the fs-based mode of F2FS, the mapping of hot/warm node to > WRITE_LIFE_NOT_SET should be changed to WRITE_LIFE_SHORT. > > As a result of analyzing the write pattern of f2fs using real workload, > hot/warm nodes have high update ratio close to hot data.[*] > However, F2FS passes write hints for hot/warm nodes as WRITE_LIFE_NOT_SET. > > Furthermore, WRITE_LIFE_NOT_SET is a default value of write hint when it is > not provided from the file system. > In storage, write_hint is used to distinguish streams (e.g. NVMe). > So, the hot/warm node of F2FS is not distinguished from other write_hints, > which can make the wrong stream seperation. > > * Liang, Yu, et al. "An empirical study of F2FS on mobile devices." 2017 > IEEE 23rd International Conference on Embedded and Real-Time Computing > Systems and Applications (RTCSA). Could you please update Documentation/filesystems/f2fs.rst as well? Thanks, > > Signed-off-by: Daejun Park <daejun7.park@samsung.com> > --- > fs/f2fs/segment.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c > index 1596502f7375..7b42bb10c6c3 100644 > --- a/fs/f2fs/segment.c > +++ b/fs/f2fs/segment.c > @@ -3208,7 +3208,7 @@ enum rw_hint f2fs_io_type_to_rw_hint(struct f2fs_sb_info *sbi, > return WRITE_LIFE_EXTREME; > } else if (type == NODE) { > if (temp == WARM || temp == HOT) > - return WRITE_LIFE_NOT_SET; > + return WRITE_LIFE_SHORT; > else if (temp == COLD) > return WRITE_LIFE_NONE; > } else if (type == META) { > ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <CGME20201103064039epcms2p30ecac0e7cefff0d50745f2e2e61ce38e@epcms2p8>]
* RE: Re: [f2fs-dev] [PATCH] f2fs: change write_hint for hot/warm nodes [not found] ` <CGME20201103064039epcms2p30ecac0e7cefff0d50745f2e2e61ce38e@epcms2p8> @ 2020-11-03 8:33 ` Daejun Park 0 siblings, 0 replies; 3+ messages in thread From: Daejun Park @ 2020-11-03 8:33 UTC (permalink / raw) To: Chao Yu, Daejun Park, jaegeuk, chao Cc: yongmyung lee, Jieon Seol, Sang-yoon Oh, Mankyu PARK, Sung-Jun Park, linux-kernel, linux-f2fs-devel, Keoseong Park, SEUNGUK SHIN, Jinyoung CHOI, Jaemyung Lee >>>From 818a76a9aee5bf225565264274d211edb07bae7d Mon Sep 17 00:00:00 2001 >> From: Daejun Park <daejun7.park@samsung.com> >> Date: Tue, 3 Nov 2020 15:30:26 +0900 >> >> >> In the fs-based mode of F2FS, the mapping of hot/warm node to >> WRITE_LIFE_NOT_SET should be changed to WRITE_LIFE_SHORT. >> >> As a result of analyzing the write pattern of f2fs using real workload, >> hot/warm nodes have high update ratio close to hot data.[*] >> However, F2FS passes write hints for hot/warm nodes as WRITE_LIFE_NOT_SET. >> >> Furthermore, WRITE_LIFE_NOT_SET is a default value of write hint when it is >> not provided from the file system. >> In storage, write_hint is used to distinguish streams (e.g. NVMe). >> So, the hot/warm node of F2FS is not distinguished from other write_hints, >> which can make the wrong stream seperation. >> >> * Liang, Yu, et al. "An empirical study of F2FS on mobile devices." 2017 >> IEEE 23rd International Conference on Embedded and Real-Time Computing >> Systems and Applications (RTCSA). > >Could you please update Documentation/filesystems/f2fs.rst as well? > >Thanks, Sure, I will make it next patch. Thanks >> >> Signed-off-by: Daejun Park <daejun7.park@samsung.com> >> --- >> fs/f2fs/segment.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c >> index 1596502f7375..7b42bb10c6c3 100644 >> --- a/fs/f2fs/segment.c >> +++ b/fs/f2fs/segment.c >> @@ -3208,7 +3208,7 @@ enum rw_hint f2fs_io_type_to_rw_hint(struct f2fs_sb_info *sbi, >> return WRITE_LIFE_EXTREME; >> } else if (type == NODE) { >> if (temp == WARM || temp == HOT) >> - return WRITE_LIFE_NOT_SET; >> + return WRITE_LIFE_SHORT; >> else if (temp == COLD) >> return WRITE_LIFE_NONE; >> } else if (type == META) { >> > > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-03 8:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20201103064039epcms2p30ecac0e7cefff0d50745f2e2e61ce38e@epcms2p3>
2020-11-03 6:40 ` [f2fs-dev] [PATCH] f2fs: change write_hint for hot/warm nodes Daejun Park
2020-11-03 8:28 ` Chao Yu
[not found] ` <CGME20201103064039epcms2p30ecac0e7cefff0d50745f2e2e61ce38e@epcms2p8>
2020-11-03 8:33 ` Daejun Park
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®