* [PATCH] f2fs: fix double count on issued discard commands @ 2017-09-11 3:38 Jaegeuk Kim 2017-09-12 1:53 ` [f2fs-dev] " Chao Yu 0 siblings, 1 reply; 8+ messages in thread From: Jaegeuk Kim @ 2017-09-11 3:38 UTC (permalink / raw) To: linux-kernel, linux-fsdevel, linux-f2fs-devel; +Cc: Jaegeuk Kim If issue_cond is true, it does double count for # of issued commands. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> --- 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 7fd742f747ce..25196ff5d587 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1087,7 +1087,7 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi, bool issue_cond) issued++; __submit_discard_cmd(sbi, dc); } - if (issue_cond && iter++ > DISCARD_ISSUE_RATE) + if (issue_cond && iter > DISCARD_ISSUE_RATE) goto out; } if (list_empty(pend_list) && dcc->pend_list_tag[i] & P_TRIM) -- 2.14.0.rc1.383.gd1ce394fe2-goog ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [f2fs-dev] [PATCH] f2fs: fix double count on issued discard commands 2017-09-11 3:38 [PATCH] f2fs: fix double count on issued discard commands Jaegeuk Kim @ 2017-09-12 1:53 ` Chao Yu 2017-09-12 3:53 ` Chao Yu 0 siblings, 1 reply; 8+ messages in thread From: Chao Yu @ 2017-09-12 1:53 UTC (permalink / raw) To: Jaegeuk Kim, linux-kernel, linux-fsdevel, linux-f2fs-devel On 2017/9/11 11:38, Jaegeuk Kim wrote: > If issue_cond is true, it does double count for # of issued commands. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Reviewed-by: Chao Yu <yuchao0@huawei.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 7fd742f747ce..25196ff5d587 100644 > --- a/fs/f2fs/segment.c > +++ b/fs/f2fs/segment.c > @@ -1087,7 +1087,7 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi, bool issue_cond) > issued++; > __submit_discard_cmd(sbi, dc); > } > - if (issue_cond && iter++ > DISCARD_ISSUE_RATE) > + if (issue_cond && iter > DISCARD_ISSUE_RATE) > goto out; > } > if (list_empty(pend_list) && dcc->pend_list_tag[i] & P_TRIM) > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [f2fs-dev] [PATCH] f2fs: fix double count on issued discard commands 2017-09-12 1:53 ` [f2fs-dev] " Chao Yu @ 2017-09-12 3:53 ` Chao Yu 2017-09-12 4:29 ` Jaegeuk Kim [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p7> 0 siblings, 2 replies; 8+ messages in thread From: Chao Yu @ 2017-09-12 3:53 UTC (permalink / raw) To: Jaegeuk Kim, linux-kernel, linux-fsdevel, linux-f2fs-devel; +Cc: daehojng On 2017/9/12 9:53, Chao Yu wrote: > On 2017/9/11 11:38, Jaegeuk Kim wrote: >> If issue_cond is true, it does double count for # of issued commands. >> >> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > > Reviewed-by: Chao Yu <yuchao0@huawei.com> As Daeho Jeong mentioned, the change makes 'iter > DISCARD_ISSUE_RATE' dead code, I just misread iter and issued variable, sorry. :( Thanks, > >> --- >> 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 7fd742f747ce..25196ff5d587 100644 >> --- a/fs/f2fs/segment.c >> +++ b/fs/f2fs/segment.c >> @@ -1087,7 +1087,7 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi, bool issue_cond) >> issued++; >> __submit_discard_cmd(sbi, dc); >> } >> - if (issue_cond && iter++ > DISCARD_ISSUE_RATE) >> + if (issue_cond && iter > DISCARD_ISSUE_RATE) >> goto out; >> } >> if (list_empty(pend_list) && dcc->pend_list_tag[i] & P_TRIM) >> > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [f2fs-dev] [PATCH] f2fs: fix double count on issued discard commands 2017-09-12 3:53 ` Chao Yu @ 2017-09-12 4:29 ` Jaegeuk Kim [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p7> 1 sibling, 0 replies; 8+ messages in thread From: Jaegeuk Kim @ 2017-09-12 4:29 UTC (permalink / raw) To: Chao Yu; +Cc: linux-kernel, linux-fsdevel, linux-f2fs-devel, daehojng On 09/12, Chao Yu wrote: > On 2017/9/12 9:53, Chao Yu wrote: > > On 2017/9/11 11:38, Jaegeuk Kim wrote: > >> If issue_cond is true, it does double count for # of issued commands. > >> > >> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > > > > Reviewed-by: Chao Yu <yuchao0@huawei.com> > > As Daeho Jeong mentioned, the change makes 'iter > DISCARD_ISSUE_RATE' dead > code, I just misread iter and issued variable, sorry. :( Yeah, that's exactly like what I made a mistake before. I should have mentioned that earlier. :) > > Thanks, > > > > >> --- > >> 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 7fd742f747ce..25196ff5d587 100644 > >> --- a/fs/f2fs/segment.c > >> +++ b/fs/f2fs/segment.c > >> @@ -1087,7 +1087,7 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi, bool issue_cond) > >> issued++; > >> __submit_discard_cmd(sbi, dc); > >> } > >> - if (issue_cond && iter++ > DISCARD_ISSUE_RATE) > >> + if (issue_cond && iter > DISCARD_ISSUE_RATE) > >> goto out; > >> } > >> if (list_empty(pend_list) && dcc->pend_list_tag[i] & P_TRIM) > >> > > > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p7>]
* Re: [f2fs-dev] [PATCH] f2fs: fix double count on issued discard commands [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p7> @ 2017-09-12 4:34 ` Daeho Jeong 2017-09-12 17:11 ` Jaegeuk Kim ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Daeho Jeong @ 2017-09-12 4:34 UTC (permalink / raw) To: Jaegeuk Kim Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net > Yeah, that's exactly like what I made a mistake before. > I should have mentioned that earlier. :) Or I think the previous code which used "iter++" might be right. You might just want to check the fixed number of small discards, DISCARD_ISSUE_RATE, when issue_cond is "true". Anyways, I have another question about this function. How about just issuing, not checking whether it is idle, the fixed number of small discards, DISCARD_ISSUE_RATE, when issue_cond is "true". Actually, the discard commands will be issued as "asynchronous" requests, which has a low priority in the I/O scheduler, so the performance degradation of other threads by doing this will not be much severe, but we can make the performance of the storage device better even if there is no idle. I am just worried about the storage device I/O performance gets worse under I/O intensive senario where there is no idle Thanks, ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] f2fs: fix double count on issued discard commands 2017-09-12 4:34 ` Daeho Jeong @ 2017-09-12 17:11 ` Jaegeuk Kim 2017-09-13 7:13 ` Chao Yu [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p8> 2 siblings, 0 replies; 8+ messages in thread From: Jaegeuk Kim @ 2017-09-12 17:11 UTC (permalink / raw) To: Daeho Jeong Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net On 09/12, Daeho Jeong wrote: > > Yeah, that's exactly like what I made a mistake before. > > I should have mentioned that earlier. :) > > Or I think the previous code which used "iter++" might be right. > You might just want to check the fixed number of small discards, DISCARD_ISSUE_RATE, > when issue_cond is "true". > > Anyways, I have another question about this function. > How about just issuing, not checking whether it is idle, the fixed number of small > discards, DISCARD_ISSUE_RATE, when issue_cond is "true". > Actually, the discard commands will be issued as "asynchronous" requests, > which has a low priority in the I/O scheduler, > so the performance degradation of other threads by doing this will not be much severe, > but we can make the performance of the storage device better even if there is no idle. I don't think I/O scheduler can efficiently prioritize discard commands and user requests. The proper way that we can do would be waiting for idle time at this moment. Thanks, > > I am just worried about the storage device I/O performance gets worse > under I/O intensive senario where there is no idle > > Thanks, ------------------------------------------------------------------------------ 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] 8+ messages in thread
* Re: [PATCH] f2fs: fix double count on issued discard commands 2017-09-12 4:34 ` Daeho Jeong 2017-09-12 17:11 ` Jaegeuk Kim @ 2017-09-13 7:13 ` Chao Yu [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p8> 2 siblings, 0 replies; 8+ messages in thread From: Chao Yu @ 2017-09-13 7:13 UTC (permalink / raw) To: daeho.jeong, Jaegeuk Kim Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net On 2017/9/12 12:34, Daeho Jeong wrote: >> Yeah, that's exactly like what I made a mistake before. >> I should have mentioned that earlier. :) > > Or I think the previous code which used "iter++" might be right. > You might just want to check the fixed number of small discards, DISCARD_ISSUE_RATE, > when issue_cond is "true". > > Anyways, I have another question about this function. > How about just issuing, not checking whether it is idle, the fixed number of small > discards, DISCARD_ISSUE_RATE, when issue_cond is "true". > Actually, the discard commands will be issued as "asynchronous" requests, > which has a low priority in the I/O scheduler, > so the performance degradation of other threads by doing this will not be much severe, > but we can make the performance of the storage device better even if there is no idle. Actually, we didn't change priority of discard command, so that it is still synchronous IO for I/O scheduler, hence I/O interference will still exist if we try to issue discard without IO aware ability. Of course we can change the priority of discard command to lower, but potential issue is that with ROW I/O scheduler in kernel or FTL, async I/O will handle very slowly in heavy load scenario, if we are going to trigger sync write IO in place in where we're doing async discard, we will face long latency. Still I think it is worth to build the ability to issue async discard as a part of discard policy and later we can adjust policy based on different scenario. Thanks, > > I am just worried about the storage device I/O performance gets worse > under I/O intensive senario where there is no idle > > Thanks, > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Linux-f2fs-devel mailing list > Linux-f2fs-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p8>]
* Re: [f2fs-dev] [PATCH] f2fs: fix double count on issued discard commands [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p8> @ 2017-09-13 8:48 ` Daeho Jeong 0 siblings, 0 replies; 8+ messages in thread From: Daeho Jeong @ 2017-09-13 8:48 UTC (permalink / raw) To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net > Actually, we didn't change priority of discard command, so that it is still > synchronous IO for I/O scheduler, hence I/O interference will still exist if we > try to issue discard without IO aware ability. > Of course we can change the priority of discard command to lower, but potential > issue is that with ROW I/O scheduler in kernel or FTL, async I/O will handle > very slowly in heavy load scenario, if we are going to trigger sync write IO in > place in where we're doing async discard, we will face long latency. > Still I think it is worth to build the ability to issue async discard as a part > of discard policy and later we can adjust policy based on different scenario. > Thanks, Oh, I see. f2fs is sending discard requests as "sync" requests, I didn't know that. Right, I just though in case of CFQ I/O scheduler, but f2fs has to consider the other schedulers, but CFQ. Thanks, :) ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-09-13 8:48 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-09-11 3:38 [PATCH] f2fs: fix double count on issued discard commands Jaegeuk Kim 2017-09-12 1:53 ` [f2fs-dev] " Chao Yu 2017-09-12 3:53 ` Chao Yu 2017-09-12 4:29 ` Jaegeuk Kim [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p7> 2017-09-12 4:34 ` Daeho Jeong 2017-09-12 17:11 ` Jaegeuk Kim 2017-09-13 7:13 ` Chao Yu [not found] ` <CGME20170912042935epcas1p4630737028cc7b9536a0c688c92084e84@epcms1p8> 2017-09-13 8:48 ` [f2fs-dev] " Daeho Jeong
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).