]> git.baikalelectronics.ru Git - kernel.git/commit
writeback: double the dirty thresholds
authorWu Fengguang <fengguang.wu@intel.com>
Mon, 23 Mar 2009 00:57:38 +0000 (08:57 +0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 26 Mar 2009 18:01:11 +0000 (11:01 -0700)
commitbedca502f706939ae9971e19abdc66631503c6ed
treebe5d783ec67610445828e496706f1e02c74671c1
parent7f8ee3d94eff78bedbc413b02e69cf60ac9bcfa2
writeback: double the dirty thresholds

Enlarge default dirty ratios from 5/10 to 10/20.  This fixes [Bug
#12809] iozone regression with 2.6.29-rc6.

The iozone benchmarks are performed on a 1200M file, with 8GB ram.

  iozone -i 0 -i 1 -i 2 -i 3 -i 4 -r 4k -s 64k -s 512m -s 1200m -b tmp.xls
  iozone -B -r 4k -s 64k -s 512m -s 1200m -b tmp.xls

The performance regression is triggered by commit a9ac27d00c57(mm: task
dirty accounting fix), which makes more correct/thorough dirty
accounting.

The default 5/10 dirty ratios were picked (a) with the old dirty logic
and (b) largely at random and (c) designed to be aggressive.  In
particular, that (a) means that having fixed some of the dirty
accounting, maybe the real bug is now that it was always too aggressive,
just hidden by an accounting issue.

The enlarged 10/20 dirty ratios are just about enough to fix the regression.

[ We will have to look at how this affects the old fsync() latency issue,
  but that probably will need independent work.  - Linus ]

Cc: Nick Piggin <npiggin@suse.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Reported-by: "Lin, Ming M" <ming.m.lin@intel.com>
Tested-by: "Lin, Ming M" <ming.m.lin@intel.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page-writeback.c