Fabien, On 2015-06-03 PM 02:53, Fabien COELHO wrote: > >> >> It seems 'sync' gets closer to what I really wanted 'flush' to mean. If I >> understand this and the previous discussion(s) correctly, the patch tries to >> alleviate the problems caused by one-big-sync-at-the end-of-writes by doing >> the sync in step with writes (which do abide by the >> checkpoint_completion_target). Given that impression, it seems >> *_sync_on_write may even do the job. > > I desagree with this one, because the sync is only *initiated*, not done. For > this reason I think that "flush" seems a better word. I understand "sync" as > "committed to disk". For the data to be synced, it should call with the "wait > after" option, which is a partial "fsync", but that would be terrible for > performance as all checkpointed pages would be written one by one, without any > opportunity for reordering them. > > For what it's worth and for the record, Linux sync_file_range documentation > says "This is an asynchronous flush-to-disk operation" to describe the > corresponding option. This is probably where I took it. >
Ah, okay! I didn't quite think about the async aspect here. But, I sure do hope that the added mechanism turns out to be *less* async than kernel's own dirty cache handling to achieve the hoped for gain. > So two contenders: > > *_flush_to_disk > *_flush_on_write > Yep! Regards, Amit -- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
