Skip to content

IO-less dirty throttling v12

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

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest11 patches 10 repliesIn review

Changes since v11 from the cover letter

- improve bdi reserve area parameters (based on test results)
- drop bdi underrun flag
- drop aux bdi control line
- make bdi->dirty_ratelimit more stable

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11writeback: account per-bdi accumulated dirtied pagesinclude/linux/backing-dev.h mm/backing-dev.c mm/page-writeback.c+4 -00 replies
2/11writeback: dirty position controlmm/page-writeback.c+190 -10 replies
3/11writeback: add bg_threshold parameter to __bdi_update_bandwidth()fs/fs-writeback.c include/linux/writeback.h mm/page-writeback.c+9 -50 replies
4/11writeback: dirty rate controlinclude/linux/backing-dev.h mm/backing-dev.c mm/page-writeback.c+89 -20 replies
5/11writeback: stabilize bdi->dirty_ratelimitinclude/linux/backing-dev.h mm/backing-dev.c mm/page-writeback.c+74 -10 replies
6/11writeback: per task dirty rate limitinclude/linux/sched.h kernel/fork.c mm/page-writeback.c+60 -390 replies
7/11writeback: IO-less balance_dirty_pages()include/trace/events/writeback.h mm/page-writeback.c+56 -1290 replies
8/11writeback: limit max dirty pause timemm/page-writeback.c+42 -20 replies
9/11writeback: control dirty pause timemm/page-writeback.c+19 -10 replies
10/11writeback: dirty position control - bdi reserve areamm/page-writeback.c+15 -00 replies
11/11writeback: per-bdi background thresholdfs/fs-writeback.c+12 -50 replies

Reviews trailers per patch

2 of 11 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchJan KaraAndrea RighiPeter Zijlstra
SeriesA-b
1/11
2/11A-b
3/11
4/11
5/11
6/11R-b
7/11
8/11
9/11
10/11
11/11

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

Cover letter [PATCH 00/11] IO-less dirty throttling v12

Hi,

This is the minimal IO-less balance_dirty_pages() changes that are expected to be regression free (well, except for NFS).

git://github.com/fengguang/linux.git dirty-throttling-v12

Tests results will be posted in a separate email.

Changes since v11:

- improve bdi reserve area parameters (based on test results)
- drop bdi underrun flag
- drop aux bdi control line
- make bdi->dirty_ratelimit more stable

Changes since v10:

- complete the renames
- add protections for IO queue underrun
- pause time reduction
- bdi reserve area
- bdi underrun flag
- more accurate task dirty accounting for
- sub-page writes
- FS re-dirties
- short lived tasks

Changes since v9:

- a lot of renames and comment/changelog rework, again
- seperate out the dirty_ratelimit update policy (as patch 04)
- add think time compensation
- add 3 trace events

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, Vivek, Andrea and Jan for the careful reviews!

shortlog:

Wu Fengguang (11):
writeback: account per-bdi accumulated dirtied pages
writeback: dirty position control
writeback: add bg_threshold parameter to __bdi_update_bandwidth()
writeback: dirty rate control
writeback: stabilize bdi->dirty_ratelimit
writeback: per task dirty rate limit
writeback: IO-less balance_dirty_pages()
writeback: limit max dirty pause time
writeback: control dirty pause time
writeback: dirty position control - bdi reserve area
writeback: per-bdi background threshold

diffstat:

 fs/fs-writeback.c                |   19 +-
 include/linux/backing-dev.h      |   11 +
 include/linux/sched.h            |    7 +
 include/linux/writeback.h        |    1 +
 include/trace/events/writeback.h |   24 --
 kernel/fork.c                    |    3 +
 mm/backing-dev.c                 |    4 +
 mm/page-writeback.c              |  678 +++++++++++++++++++++++++++++---------
 8 files changed, 566 insertions(+), 181 deletions(-)

Thanks,
Fengguang

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>