{"push_id":601331885,"size":1,"distinct_size":1,"ref":"refs/heads/cm-12.0","head":"365cfa767db9f7eb1e2042377b323e6452405ae6","before":"2d6828e9f35ebff420eb796eb9c402e16b2b6ffa","commits":[{"sha":"365cfa767db9f7eb1e2042377b323e6452405ae6","author":{"email":"9eae2d327ddc4c2ff66f290d0aa6288f14fc5928@cn.fujitsu.com","name":"Gu Zheng"},"message":"f2fs: avoid wait if IO end up when do_checkpoint for better performance\n\nPreviously, do_checkpoint() will call congestion_wait() for waiting the pages\n(previous submitted node/meta/data pages) to be written back.\nBecause congestion_wait() will set a regular period (e.g. HZ / 50 ) for waiting, and\nno additional wake up mechanism was introduced if IO ends up before regular period costed.\nYuan Zhong found there is a situation that after the pages have been written back,\nbut the checkpoint thread still wait for congestion_wait to exit.\n\nSo here we store checkpoint task into f2fs_sb when doing checkpoint, it'll wait for IO completes\nif there's IO going on, and in the end IO path, wake up checkpoint task when IO ends up.\n\nThanks to Yuan Zhong's pre work about this problem.\n\nReported-by: Yuan Zhong <yuan.mark.zhong@samsung.com>\nSigned-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>","distinct":true,"url":"https://api.github.com/repos/Fenix46/LuckyK_Cm-12/commits/365cfa767db9f7eb1e2042377b323e6452405ae6"}]}