Received: from maia.hub.org (unknown [200.46.208.211]) by mail.postgresql.org (Postfix) with ESMTP id 9672D6339B5; Wed, 3 Feb 2010 10:20:08 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.208.211]) (amavisd-maia, port 10024) with ESMTP id 17625-02; Wed, 3 Feb 2010 14:19:45 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.anarazel.de (mail.anarazel.de [217.115.131.40]) by mail.postgresql.org (Postfix) with ESMTP id 2A24E633AD8; Wed, 3 Feb 2010 10:19:53 -0400 (AST) Received: from [192.168.0.222] (p579FB08B.dip.t-dialin.net [87.159.176.139]) by mail.anarazel.de (Postfix) with ESMTPSA id 958FC448005; Wed, 3 Feb 2010 15:19:50 +0100 (CET) Message-ID: <4B698605.50506@anarazel.de> Date: Wed, 03 Feb 2010 15:19:49 +0100 From: Andres Freund User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8pre) Gecko/20100128 Shredder/3.0.2pre MIME-Version: 1.0 To: Robert Haas CC: Greg Stark , Tom Lane , pgsql-hackers@postgresql.org, pgsql-performance@postgresql.org, Michael Clemmons , Hannu Krosing , Scott Marlowe Subject: Re: [HACKERS] Re: Faster CREATE DATABASE by delaying fsync (was 8.4.1 ubuntu karmic slow createdb) References: <4427a97a0912101235x3ade510blcc00d5ce9883c6b6@mail.gmail.com> <23321.1265133015@sss.pgh.pa.us> <603c8f071002021014h4b489f44s9014377e1b38dbc7@mail.gmail.com> <201002021934.18444.andres@anarazel.de> <603c8f071002021106o5eef7b40r1ed21c9bd05251ec@mail.gmail.com> <29129.1265139210@sss.pgh.pa.us> <603c8f071002021145x1939c9e7hb2eedc8ae4dfe23e@mail.gmail.com> <407d949e1002030353g522f1afev782a97fd755c5926@mail.gmail.com> <603c8f071002030542r779a4f47k78355c62b0b7853@mail.gmail.com> In-Reply-To: <603c8f071002030542r779a4f47k78355c62b0b7853@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-2.442 tagged_above=-10 required=5 tests=AWL=0.157, BAYES_00=-2.599 X-Spam-Level: X-Archive-Number: 201002/55 X-Sequence-Number: 37476 On 02/03/10 14:42, Robert Haas wrote: > On Wed, Feb 3, 2010 at 6:53 AM, Greg Stark wrote: >> On Tue, Feb 2, 2010 at 7:45 PM, Robert Haas wrote: >>> I think you're probably right, but it's not clear what the new name >>> should be until we have a comment explaining what the function is >>> responsible for. >> >> So I wrote some comments but wasn't going to repost the patch with the >> unchanged name without explanation... But I think you're right though >> I was looking at it the other way around. I want to have an API for a >> two-stage sync and of course if I do that I'll comment it to explain >> that clearly. >> >> The gist of the comments was that the function is preparing to fsync >> to initiate the i/o early and allow the later fsync to fast -- but >> also at the same time have the beneficial side-effect of avoiding >> cache poisoning. It's not clear that the two are necessarily linked >> though. Perhaps we need two separate apis, though it'll be hard to >> keep them separate on all platforms. > > Well, maybe we should start with a discussion of what kernel calls > you're aware of on different platforms and then we could try to put an > API around it. In linux there is sync_file_range. On newer Posixish systems one can emulate that with mmap() and msync() (in batches obviously). No idea about windows. Andres