Skip to content

mm: reinstate unconditional writeback start in balance_dirty_pages()#934

Closed
vfsci-bot[bot] wants to merge 1 commit intovfs.base.cifrom
pw/1073196/vfs.base.ci
Closed

mm: reinstate unconditional writeback start in balance_dirty_pages()#934
vfsci-bot[bot] wants to merge 1 commit intovfs.base.cifrom
pw/1073196/vfs.base.ci

Conversation

@vfsci-bot
Copy link
Copy Markdown

@vfsci-bot vfsci-bot Bot commented Mar 26, 2026

Series: https://patchwork.kernel.org/project/linux-fsdevel/list/?series=1073196
Submitter: Joanne Koong
Version: 2
Patches: 1/1
Message-ID: <20260326215127.3857682-1-joannelkoong@gmail.com>
Base: vfs.base.ci
Lore: https://lore.kernel.org/linux-fsdevel/20260326215127.3857682-1-joannelkoong@gmail.com


Automated by ml2pr

Commit 64dd89a ("mm/block/fs: remove laptop_mode") removed this
unconditional writeback start from balance_dirty_pages():

       if (unlikely(!writeback_in_progress(wb)))
	       wb_start_background_writeback(wb);

This logic needs to be reinstated to prevent performance regressions for
strictlimited BDIs and memcg setups. The problem occurs because:

a) For strictlimited BDIs, throttling is calculated using per-wb
thresholds. The per-wb threshold can be exceeded even when the global
dirty threshold was not exceeded (nr_dirty < gdtc->bg_thresh)

b) For memcg-based throttling, memcg uses its own dirty count /
thresholds and can trigger throttling even when the global threshold
isn't exceeded

Without the unconditional writeback start, IO is throttled as it waits
for dirty pages to be written back but there is no writeback running.
This leads to severe stalls. On fuse, buffered write performance
dropped from 1400 MiB/s to 2000 KiB/s.

Reinstate the unconditional writeback start so that writeback is
guaranteed to be running whenever IO needs to be throttled.

Fixes: 64dd89a ("mm/block/fs: remove laptop_mode")
Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
@vfsci-bot
Copy link
Copy Markdown
Author

vfsci-bot Bot commented Apr 9, 2026

This PR is older than 14 days. Closing automatically. If the series is still relevant, a new version will create a new PR.


Automated by ml2pr

@vfsci-bot vfsci-bot Bot closed this Apr 9, 2026
@vfsci-bot vfsci-bot Bot deleted the pw/1073196/vfs.base.ci branch April 9, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant