All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] IO-less dirty throttling v11
@ 2011-09-04  1:53 ` Wu Fengguang
  0 siblings, 0 replies; 175+ messages in thread
From: Wu Fengguang @ 2011-09-04  1:53 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: Peter Zijlstra, Andrew Morton, Jan Kara, Christoph Hellwig,
	Dave Chinner, Greg Thelen, Minchan Kim, Vivek Goyal,
	Andrea Righi, linux-mm, LKML, Wu Fengguang

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


^ permalink raw reply	[flat|nested] 175+ messages in thread

end of thread, other threads:[~2011-11-12  5:44 UTC | newest]

Thread overview: 175+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-04  1:53 [PATCH 00/18] IO-less dirty throttling v11 Wu Fengguang
2011-09-04  1:53 ` Wu Fengguang
2011-09-04  1:53 ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 01/18] writeback: account per-bdi accumulated dirtied pages Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 02/18] writeback: dirty position control Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-05 15:02   ` Peter Zijlstra
2011-09-05 15:02     ` Peter Zijlstra
2011-09-06  2:10     ` Wu Fengguang
2011-09-06  2:10       ` Wu Fengguang
2011-09-05 15:05   ` Peter Zijlstra
2011-09-05 15:05     ` Peter Zijlstra
2011-09-06  2:43     ` Wu Fengguang
2011-09-06  2:43       ` Wu Fengguang
2011-09-06 18:20   ` Vivek Goyal
2011-09-06 18:20     ` Vivek Goyal
2011-09-08  2:53     ` Wu Fengguang
2011-09-08  2:53       ` Wu Fengguang
2011-11-12  5:44   ` Nai Xia
2011-11-12  5:44     ` Nai Xia
2011-09-04  1:53 ` [PATCH 03/18] writeback: dirty rate control Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-29 11:57   ` Wu Fengguang
2011-09-29 11:57     ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 04/18] writeback: stabilize bdi->dirty_ratelimit Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 05/18] writeback: per task dirty rate limit Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 15:47   ` Peter Zijlstra
2011-09-06 15:47     ` Peter Zijlstra
2011-09-06 15:47     ` Peter Zijlstra
2011-09-06 23:27     ` Jan Kara
2011-09-06 23:27       ` Jan Kara
2011-09-06 23:34       ` Jan Kara
2011-09-06 23:34         ` Jan Kara
2011-09-07  7:27       ` Peter Zijlstra
2011-09-07  7:27         ` Peter Zijlstra
2011-09-07  7:27         ` Peter Zijlstra
2011-09-07  1:04     ` Wu Fengguang
2011-09-07  1:04       ` Wu Fengguang
2011-09-07  7:31       ` Peter Zijlstra
2011-09-07  7:31         ` Peter Zijlstra
2011-09-07  7:31         ` Peter Zijlstra
2011-09-07 11:00         ` Wu Fengguang
2011-09-07 11:00           ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 06/18] writeback: IO-less balance_dirty_pages() Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 12:13   ` Peter Zijlstra
2011-09-06 12:13     ` Peter Zijlstra
2011-09-06 12:13     ` Peter Zijlstra
2011-09-07  2:46     ` Wu Fengguang
2011-09-07  2:46       ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 07/18] writeback: dirty ratelimit - think time compensation Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 08/18] writeback: trace dirty_ratelimit Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 09/18] writeback: trace balance_dirty_pages Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 10/18] writeback: dirty position control - bdi reserve area Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 14:09   ` Peter Zijlstra
2011-09-06 14:09     ` Peter Zijlstra
2011-09-06 14:09     ` Peter Zijlstra
2011-09-07 12:31     ` Wu Fengguang
2011-09-07 12:31       ` Wu Fengguang
2011-09-12 10:19       ` Peter Zijlstra
2011-09-12 10:19         ` Peter Zijlstra
2011-09-12 10:19         ` Peter Zijlstra
2011-09-18 14:17         ` Wu Fengguang
2011-09-18 14:37           ` Wu Fengguang
2011-09-18 14:37             ` Wu Fengguang
2011-09-18 14:47             ` Wu Fengguang
2011-09-18 14:47               ` Wu Fengguang
2011-09-28 14:02               ` Wu Fengguang
2011-09-28 14:50                 ` Peter Zijlstra
2011-09-28 14:50                   ` Peter Zijlstra
2011-09-29  3:32                   ` Wu Fengguang
2011-09-29  3:32                     ` Wu Fengguang
2011-09-29  8:49                     ` Peter Zijlstra
2011-09-29  8:49                       ` Peter Zijlstra
2011-09-29  8:49                       ` Peter Zijlstra
2011-09-29 11:05                       ` Wu Fengguang
2011-09-29 11:05                         ` Wu Fengguang
2011-09-29 12:15                 ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 11/18] block: add bdi flag to indicate risk of io queue underrun Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 14:22   ` Peter Zijlstra
2011-09-06 14:22     ` Peter Zijlstra
2011-09-07  2:37     ` Wu Fengguang
2011-09-07  2:37       ` Wu Fengguang
2011-09-07  7:31       ` Peter Zijlstra
2011-09-07  7:31         ` Peter Zijlstra
2011-09-07  7:31         ` Peter Zijlstra
2011-09-04  1:53 ` [PATCH 12/18] writeback: balanced_rate cannot exceed write bandwidth Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 13/18] writeback: limit max dirty pause time Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 14:52   ` Peter Zijlstra
2011-09-06 14:52     ` Peter Zijlstra
2011-09-06 14:52     ` Peter Zijlstra
2011-09-07  2:35     ` Wu Fengguang
2011-09-07  2:35       ` Wu Fengguang
2011-09-12 10:22       ` Peter Zijlstra
2011-09-12 10:22         ` Peter Zijlstra
2011-09-12 10:22         ` Peter Zijlstra
2011-09-18 14:23         ` Wu Fengguang
2011-09-18 14:23           ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 14/18] writeback: control " Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 15:51   ` Peter Zijlstra
2011-09-06 15:51     ` Peter Zijlstra
2011-09-06 15:51     ` Peter Zijlstra
2011-09-07  2:02     ` Wu Fengguang
2011-09-07  2:02       ` Wu Fengguang
2011-09-12 10:28       ` Peter Zijlstra
2011-09-12 10:28         ` Peter Zijlstra
2011-09-12 10:28         ` Peter Zijlstra
2011-09-04  1:53 ` [PATCH 15/18] writeback: charge leaked page dirties to active tasks Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 16:16   ` Peter Zijlstra
2011-09-06 16:16     ` Peter Zijlstra
2011-09-06 16:16     ` Peter Zijlstra
2011-09-07  9:06     ` Wu Fengguang
2011-09-07  9:06       ` Wu Fengguang
2011-09-07  0:17   ` Jan Kara
2011-09-07  0:17     ` Jan Kara
2011-09-07  9:37     ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 16/18] writeback: fix dirtied pages accounting on sub-page writes Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53 ` [PATCH 17/18] writeback: fix dirtied pages accounting on redirty Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-06 16:18   ` Peter Zijlstra
2011-09-06 16:18     ` Peter Zijlstra
2011-09-06 16:18     ` Peter Zijlstra
2011-09-07  0:22     ` Jan Kara
2011-09-07  0:22       ` Jan Kara
2011-09-07  1:18       ` Wu Fengguang
2011-09-07  6:56       ` Christoph Hellwig
2011-09-07  6:56         ` Christoph Hellwig
2011-09-07  8:19         ` Peter Zijlstra
2011-09-07  8:19           ` Peter Zijlstra
2011-09-07  8:19           ` Peter Zijlstra
2011-09-07 16:42           ` Jan Kara
2011-09-07 16:42             ` Jan Kara
2011-09-07 16:46             ` Christoph Hellwig
2011-09-07 16:46               ` Christoph Hellwig
2011-09-08  8:51               ` Steven Whitehouse
2011-09-08  8:51                 ` Steven Whitehouse
2011-09-04  1:53 ` [PATCH 18/18] btrfs: fix dirtied pages accounting on sub-page writes Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-04  1:53   ` Wu Fengguang
2011-09-07 13:32 ` [PATCH 00/18] IO-less dirty throttling v11 Wu Fengguang
2011-09-07 13:32   ` Wu Fengguang
2011-09-07 19:14   ` Trond Myklebust
2011-09-07 19:14     ` Trond Myklebust
2011-09-28 14:58 ` Christoph Hellwig
2011-09-28 14:58   ` Christoph Hellwig
2011-09-29  4:11   ` Wu Fengguang
2011-09-29  4:11     ` Wu Fengguang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.