On 1/11/12 7:46 AM, Andres Freund wrote:
I played around with this before and my problem was that sync_file_range is not
really a hint. It actually starts writeback *directly* and only returns when
the io is placed inside the queue (at least thats the way it was back then).
Which very quickly leads to it blocking all the time...

Right, you're answering one of Robert's questions here: yes, once something is pushed toward writeback, it moves toward an actual write extremely fast. And the writeback queue can fill itself. But we don't really care if this blocks. There's a checkpointer process, it will be doing this work, and it has no other responsibilities anymore (as of 9.2, which is why some of these approaches suddenly become practical). It's going to get blocked waiting for things sometimes, the way it already does rarely when it writes, and often when it call fsync.


--
Greg Smith   2ndQuadrant US    g...@2ndquadrant.com   Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to