[PATCH 0/2][SAUCY][SRU] ext4 random block write performance regression fix

Colin King colin.king at canonical.com
Mon Oct 21 18:01:26 UTC 2013


From: Colin Ian King <colin.king at canonical.com>

BugLink: http://bugs.launchpad.net/bugs/1242812

SRU Justification:

Commit e7ea81db5(ext4: restructure writeback path) introduced
a performance regression with random writes. Using tools such 
as bonnie++, writes with dd or even stress testing with tools
such as 'stress' one can observe a 10%-20% performance
regression.

Impact: 

Write performance is diminished causing a noticeable regression
compared to previous released kernels.

Fix:

Two patches are required:

a) upstream fix 9c12a83 which fixes the overly aggressive writing
back of pages which ultimulately resulted in more seeking and
less performance.

b) commit aeac589a7 from the dev branch of kernel/git/tytso/ext4.git
which ensures no more pages than nr_to_write can be added to the extent
for mapping.

Testcase:

Using stress-ng on a 2 CPU machine run:

stress-ng --hdd 2 --hdd-ops 200000

With the fix, this consistently runs ~10-20% faster with the fix.

Notes:

This fix has been performance tested with several different scenarios
such as builds of software, copying data, bonnie++, etc. The patches
address the issue and cause no noticeable performance regression in 
other use cases.


Jan Kara (1):
  ext4: fix performance regression in writeback of random writes

Ming Lei (1):
  ext4: fix performance regression in ext4_writepages

 fs/ext4/inode.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

-- 
1.8.3.2





More information about the kernel-team mailing list