]> asedeno.scripts.mit.edu Git - linux.git/commit
f2fs: fix a hungtask problem caused by congestion_wait
authorYunlei He <heyunlei@huawei.com>
Thu, 21 Jun 2018 06:49:06 +0000 (14:49 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 27 Jul 2018 09:03:59 +0000 (18:03 +0900)
commit2a63531a612f776ea754fee6272fc8f16a06b9d6
treee75c0f7748a519b15def83a7985f4aa379c68045
parent2a96d8ad94ce57cb0072f7a660b1039720c47716
f2fs: fix a hungtask problem caused by congestion_wait

This patch fix hungtask problem which can be reproduced as follow:

Thread 0~3:
while true
do
        touch /xxx/test/file_xxx
done

Thread 4 write a new checkpoint every three seconds.

In the meantime, fio start 16 threads for randwrite.

With my debug info, cycles num will exceed 1000 in function
f2fs_sync_dirty_inodes, and most of cycle will be dropped
into congestion_wait() and sleep more than 20ms. Cycles num
reduced to 3 with this patch.

Signed-off-by: Yunlei He <heyunlei@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c