On 12 Dec 2018, at 10:36, David Sterba wrote: > On Wed, Dec 12, 2018 at 03:22:40PM +0000, Martin Raiber wrote: >> On 12.12.2018 15:47 Chris Mason wrote: >>> On 28 May 2018, at 1:48, Ethan Lien wrote: >>> >>> Eventually, we have every process in the system waiting on >>> balance_dirty_pages(), and nobody is able to make progress on page >>> writeback. >>> >> I had lockups with this patch as well. If you put e.g. a loop device >> on >> top of a btrfs file, loop sets PF_LESS_THROTTLE to avoid a feed back >> loop causing delays. The task balancing dirty pages in >> btrfs_finish_ordered_io doesn't have the flag and causes slow-downs. >> In >> my case it managed to cause a feedback loop where it queues other >> btrfs_finish_ordered_io and gets stuck completely. > > This does not look like the artificial and hard to hit case that's in > the original patch. I'm thinking about sending a revert to 4.20-rc6, > the > deadlock is IMO worse than OOM. I haven't been able to trigger the OOM this morning. Ethan, is this something you can still hit on upstream kernels with the balance_dirty_pages() removed? -chris
