The upcoming THP patchset keeps THPs Uptodate at all times unless we hit an I/O error. So I have a patch which induces I/O errors in 10% of readahead I/Os in order to test the fallback path. It hits a problem with xfstests generic/273 which has 500 threads livelocking trying to split the THP. This patchset fixes that livelock and takes 21 lines out of generic_file_buffered_read(). Matthew Wilcox (Oracle) (3): mm: Pass a sleep state to put_and_wait_on_page_locked mm/filemap: Don't hold a page reference while waiting for unlock mm: Inline __wait_on_page_locked_async into caller include/linux/pagemap.h | 3 +- mm/filemap.c | 129 +++++++++++++++------------------------- mm/huge_memory.c | 4 +- mm/migrate.c | 4 +- 4 files changed, 52 insertions(+), 88 deletions(-) -- 2.28.0