This series is the result of discussion around my RFC patch [1] where I talked about completely removing the waits for the folio_lock in migrate_folio_unmap(). This new series should, I think, be more palatable to folks. Please let me know what you think! Most of the description of why I think we want this patch series can be seen in patch #3 ("migrate_pages: Don't wait forever locking pages in MIGRATE_SYNC_LIGHT"). I won't repeat all that information here and would humbly request that anyone wishing to comment on the overall patch series respond there. ;-) [1] https://lore.kernel.org/r/20230413182313.RFC.1.Ia86ccac02a303154a0b8bc60567e7a95d34c96d3@changeid Changes in v2: - "Add folio_lock_timeout()" new for v2. - "Add lock_buffer_timeout()" new for v2. - Keep unbounded delay in "SYNC", delay with a timeout in "SYNC_LIGHT" - "Don't wait forever locking buffers in MIGRATE_SYNC_LIGHT" new for v2. Douglas Anderson (4): mm/filemap: Add folio_lock_timeout() buffer: Add lock_buffer_timeout() migrate_pages: Don't wait forever locking pages in MIGRATE_SYNC_LIGHT migrate_pages: Don't wait forever locking buffers in MIGRATE_SYNC_LIGHT fs/buffer.c | 7 ++++++ include/linux/buffer_head.h | 10 ++++++++ include/linux/pagemap.h | 16 +++++++++++++ include/linux/wait_bit.h | 24 +++++++++++++++++++ kernel/sched/wait_bit.c | 14 +++++++++++ mm/filemap.c | 47 +++++++++++++++++++++++++++---------- mm/migrate.c | 45 +++++++++++++++++++++-------------- 7 files changed, 132 insertions(+), 31 deletions(-) -- 2.40.0.634.g4ca3ef3211-goog