Searched hist:"9 c12a831d73dd938a22418d70b39aed4feb4bdf2" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/fs/ext4/ |
H A D | inode.c | diff 9c12a831d73dd938a22418d70b39aed4feb4bdf2 Mon Sep 16 07:24:26 CDT 2013 Jan Kara <jack@suse.cz> ext4: fix performance regression in writeback of random writes
The Linux Kernel Performance project guys have reported that commit 4e7ea81db5 introduces a performance regression for the following fio workload:
[global] direct=0 ioengine=mmap size=1500M bs=4k pre_read=1 numjobs=1 overwrite=1 loops=5 runtime=300 group_reporting invalidate=0 directory=/mnt/ file_service_type=random:36 file_service_type=random:36
[job0] startdelay=0 rw=randrw filename=data0/f1:data0/f2
[job1] startdelay=0 rw=randrw filename=data0/f2:data0/f1 ...
[job7] startdelay=0 rw=randrw filename=data0/f2:data0/f1
The culprit of the problem is that after the commit ext4_writepages() are more aggressive in writing back pages. Thus we have less consecutive dirty pages resulting in more seeking.
This increased aggressivity is caused by a bug in the condition terminating ext4_writepages(). We start writing from the beginning of the file even if we should have terminated ext4_writepages() because wbc->nr_to_write <= 0.
After fixing the condition the throughput of the fio workload is about 20% better than before writeback reorganization.
Reported-by: "Yan, Zheng" <zheng.z.yan@intel.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|