Searched hist:"56659 ce838456c6f2315ce8a4bd686ac4b23e9d1" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/fs/f2fs/ |
H A D | f2fs.h | diff 56659ce838456c6f2315ce8a4bd686ac4b23e9d1 Thu Jun 06 04:38:13 CDT 2019 Sahitya Tummala <stummala@codeaurora.org> f2fs: fix is_idle() check for discard type
The discard thread should issue upto dpolicy->max_requests at once and wait for all those discard requests at once it reaches dpolicy->max_requests. It should then sleep for dpolicy->min_interval timeout before issuing the next batch of discard requests. But in the current code of is_idle(), it checks for dcc_info->queued_discard and aborts issuing the discard batch of max_requests. This dcc_info->queued_discard will be true always once one discard command is issued.
It is thus resulting into this type of discard request pattern -
- Issue discard request#1 - is_idle() returns false, discard thread waits for request#1 and then sleeps for min_interval 50ms. - Issue discard request#2 - is_idle() returns false, discard thread waits for request#2 and then sleeps for min_interval 50ms. - and so on for all other discard requests, assuming f2fs is idle w.r.t other conditions.
With this fix, the pattern will look like this -
- Issue discard request#1 - Issue discard request#2 and so on upto max_requests of 8 - Issue discard request#8 - wait for min_interval 50ms.
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
|