On Tue, Mar 18, 2025 at 01:15:33AM -0700, Luis Chamberlain wrote: > I also can't see how the patch ("("block/bdev: enable large folio > support for large logical block sizes") would trigger this. Easy enough to see by checking the backtrace. > [ 218.454517][ T51] folio_mc_copy+0xca/0x1f0 > [ 218.454532][ T51] __migrate_folio+0x11a/0x2d0 > [ 218.454541][ T51] __buffer_migrate_folio+0x558/0x660 folio_mc_copy() calls cond_resched() for large folios only. __buffer_migrate_folio() calls spin_lock(&mapping->i_private_lock) so for folios without buffer heads attached, we never take the spinlock, and for small folios we never call cond_resched(). It's only the compaction path for large folios with buffer_heads attached that calls cond_resched() while holding a spinlock. Jan was the one who extended the spinlock to be held over the copy in ebdf4de5642f so adding him for thoughts.