On Tue, Jan 29, 2019 at 10:05:31AM +0800, Xiaoguang Wang wrote: > In mpage_add_bh_to_extent(), when accumulated extents length is greater > than MAX_WRITEPAGES_EXTENT_LEN or buffer head's b_stat is not equal, we > will not continue to search unmapped area for this page, but note this > page is locked, and will only be unlocked in mpage_release_unused_pages() > after ext4_io_submit, if io also is throttled by blk-throttle or similar > io qos, we will hold this page locked for a while, it's unnecessary. > > I think the best fix is to refactor mpage_add_bh_to_extent() to let it > return some hints whether to unlock this page, but given that we will > improve dioread_nolock later, we can let it done later, so currently > the simple fix would just call mpage_release_unused_pages() before > ext4_io_submit(). > > Signed-off-by: Xiaoguang Wang <xiaoguang.wang@xxxxxxxxxxxxxxxxx> Thanks, applied. - Ted