Re: [RFC/PATCH 0/4] Re: Bug#605009: serious performance regression with ext4

2010-11-29 Thread Jonathan Nieder
Theodore Tso wrote: > So Patch #2 wasn't quite what I talked about doing; patch #2 is adding > SYNC_FILE_RANGE_WAIT_BEFORE for each file immediately after writing the file. > So it's the equivalent of: > > extract(a) > sync_file_range(SYNC_FILE_RANGE_WRITE) > sync_file_range(SYNC_FI

Re: [RFC/PATCH 0/4] Re: Bug#605009: serious performance regression with ext4

2010-11-29 Thread Ted Ts'o
On Mon, Nov 29, 2010 at 02:46:11PM +0100, Raphael Hertzog wrote: > On Mon, 29 Nov 2010, Theodore Tso wrote: > > BTW, if you had opened the file handle in subsequent passes using > > O_RDONLY|O_NOATIME, the use of fdatasync() instead of fsync() might not > > have been necessary. And as far as the

Re: [RFC/PATCH 0/4] Re: Bug#605009: serious performance regression with ext4

2010-11-29 Thread Raphael Hertzog
On Mon, 29 Nov 2010, Theodore Tso wrote: > BTW, if you had opened the file handle in subsequent passes using > O_RDONLY|O_NOATIME, the use of fdatasync() instead of fsync() might not > have been necessary. And as far as the comments in patch #4 was Hum, fsync()/fdatasync() require a fd opened fo

Re: [RFC/PATCH 0/4] Re: Bug#605009: serious performance regression with ext4

2010-11-29 Thread Theodore Tso
On Nov 29, 2010, at 1:48 AM, Jonathan Nieder wrote: > > Results (on ext4) suggest that patches 1 and 4 matter and the rest are > within noise. Timings are rough; sometimes replicates vary by as much > as a second. Numbers are cold cache (i.e., after running sync and > echo 3>.../drop_caches),

[RFC/PATCH 0/4] Re: Bug#605009: serious performance regression with ext4

2010-11-28 Thread Jonathan Nieder
Hi Guillem, Here are some rough patches implementing Ted's suggestions: Ted Ts'o wrote: > extract(a); > sync_file_range(fd.a, 0, 0, SYNC_FILE_RANGE_WRITE); > extract(b.dpkg-new); > sync_file_range(fd.b, 0, 0, SYNC_FILE_RANGE_WRITE); > extract(c.dpkg-new); > sync_file_ra