[PATCH 00/18] IO-less dirty throttling v11

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Finally, the complete IO-less balance_dirty_pages(). NFS is observed to perform
better or worse depending on the memory size. Otherwise the added patches can
address all known regressions.

        git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback.git dirty-throttling-v11
	(to be updated; currently it contains a pre-release v11)

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 (18):
	      writeback: account per-bdi accumulated dirtied pages
	      writeback: dirty position control
	      writeback: dirty rate control
	      writeback: stabilize bdi->dirty_ratelimit
	      writeback: per task dirty rate limit
	      writeback: IO-less balance_dirty_pages()
	      writeback: dirty ratelimit - think time compensation
	      writeback: trace dirty_ratelimit
	      writeback: trace balance_dirty_pages
	      writeback: dirty position control - bdi reserve area
	      block: add bdi flag to indicate risk of io queue underrun
	      writeback: balanced_rate cannot exceed write bandwidth
	      writeback: limit max dirty pause time
	      writeback: control dirty pause time
	      writeback: charge leaked page dirties to active tasks
	      writeback: fix dirtied pages accounting on sub-page writes
	      writeback: fix dirtied pages accounting on redirty
	      btrfs: fix dirtied pages accounting on sub-page writes

diffstat:

	 block/blk-core.c                 |    7 
	 fs/btrfs/file.c                  |    3 
	 fs/fs-writeback.c                |    2 
	 include/linux/backing-dev.h      |   26 
	 include/linux/blkdev.h           |   12 
	 include/linux/sched.h            |    8 
	 include/linux/writeback.h        |    5 
	 include/trace/events/writeback.h |  151 ++++-
	 kernel/exit.c                    |    2 
	 kernel/fork.c                    |    4 
	 mm/backing-dev.c                 |    3 
	 mm/page-writeback.c              |  768 +++++++++++++++++++++++------
	 12 files changed, 816 insertions(+), 175 deletions(-)

Thanks,
Fengguang

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  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:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]