On Thu, Aug 15, 2013 at 12:08:57PM -0500, Jon Nelson wrote:
> > Where are we on this issue?
>
> I've been able to replicate it pretty easily with PostgreSQL and
> continue to look into it. I've contacted Theodore Ts'o and have gotten
> some useful information, however I'm unable to replicate the behavior
> with the test program (even one that's been modified). What I've
> learned is:
>
> - XLogWrite appears to take approx. 2.5 times longer when writing to a
> file allocated with posix_fallocate, but only the first time the file
> contents are overwritten. This is partially explained by how ext4
> handles extents and uninitialized data, but 2.5x is MUCH more
> expensive than anticipated or expected here.
> - Writing zeroes to a file allocated with posix_fallocate (essentially
> adding a posix_fallocate step before the usual write-zeroes-in-a-loop
> approach) not only doesn't seem to hurt performance, it seems to help
> or at least have parity, *and* the space is guaranteed to exist on
> disk. At the very least that seems useful.
Is it time to revert this patch until we know more?
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +