Skip to content

IO-less dirty throttling v9

Wu Fengguang linux-fsdevel linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 21 repliesIn review

Changes since v8 from the cover letter

- a lot of renames and comment/changelog rework
- use 3rd order polynomial as the global control line (Peter)
- stabilize dirty_ratelimit by decreasing update step size on small errors
- limit per-CPU dirtied pages to avoid dirty pages run away on 1k+ tasks (Peter)

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5writeback: account per-bdi accumulated dirtied pagesinclude/linux/backing-dev.h mm/backing-dev.c mm/page-writeback.c+4 -00 replies
2/5writeback: dirty position controlfs/fs-writeback.c include/linux/writeback.h mm/page-writeback.c+193 -610 replies
3/5writeback: dirty rate controlinclude/linux/backing-dev.h mm/backing-dev.c mm/page-writeback.c+114 -20 replies
4/5writeback: per task dirty rate limitinclude/linux/sched.h kernel/fork.c mm/page-writeback.c+61 -392 replies
5/5writeback: IO-less balance_dirty_pages()include/trace/events/writeback.h mm/page-writeback.c+41 -1309 replies

Reviews trailers per patch

2 of 5 patches have a Reviewed-by or Acked-by.

PatchAndrea RighiJan Kara
1/5
2/5A-b
3/5
4/5R-b
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/5] IO-less dirty throttling v9

Hi,

The core bits of the IO-less balance_dirty_pages().

git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback.git dirty-throttling-v9

Changes since v8:

- a lot of renames and comment/changelog rework
- use 3rd order polynomial as the global control line (Peter)
- stabilize dirty_ratelimit by decreasing update step size on small errors
- limit per-CPU dirtied pages to avoid dirty pages run away on 1k+ tasks (Peter)

Thanks a lot to Peter and Andrea, Vivek for the careful reviews!

shortlog:

Wu Fengguang (5):
writeback: account per-bdi accumulated dirtied pages
writeback: dirty position control
writeback: dirty rate control
writeback: per task dirty rate limit
writeback: IO-less balance_dirty_pages()

The last 4 patches are one single logical change, but splitted here to make it easier to review the different parts of the algorithm.

diffstat:

	 fs/fs-writeback.c                |    2 
	 include/linux/backing-dev.h      |    8 
	 include/linux/sched.h            |    7 
	 include/linux/writeback.h        |    1 
	 include/trace/events/writeback.h |   24 -
	 kernel/fork.c                    |    3 
	 mm/backing-dev.c                 |    3 
	 mm/page-writeback.c              |  544 ++++++++++++++++++++---------
	 8 files changed, 414 insertions(+), 178 deletions(-)

Thanks,
Fengguang