Re: about fsync in CLOG buffer write - Mailing list pgsql-hackers

From Andres Freund
Subject Re: about fsync in CLOG buffer write
Date
Msg-id F5649164-320D-44C1-AF24-751276897A62@anarazel.de
Whole thread Raw
In response to Re: about fsync in CLOG buffer write  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: about fsync in CLOG buffer write  (Jeff Janes <jeff.janes@gmail.com>)
List pgsql-hackers
On September 12, 2015 5:18:28 PM PDT, Jeff Janes <jeff.janes@gmail.com> wrote:
>On Wed, Sep 2, 2015 at 5:32 AM, Andres Freund <andres@anarazel.de>
>wrote:
>
>> On 2015-09-10 19:39:59 +0800, 张广舟(明虚) wrote:
>> > We found there is a fsync call when CLOG buffer
>> > is written out in SlruPhysicalWritePage(). It is often called when
>a
>> backend
>> > needs to check transaction status with SimpleLruReadPage().
>>
>> That's when there's not enough buffers available some other, and your
>> case dirty, needs to be written out.
>>
>
>Why bother to find a place to store the page in shared memory at all? 
>If
>we just want to read it, and it isn't already in shared memory, then
>why
>not just ask the kernel for the specific byte we need?  The byte we
>want to
>read can't differ between shared memory and kernel, because it doesn't
>exist in shared memory.

I doubt that'd help - the next access would be more expensive, and we'd need to have a more complex locking regime.
Thesepages aren't necessarily read only at that point.
 

Andres

--- 
Please excuse brevity and formatting - I am writing this on my mobile phone.



pgsql-hackers by date:

Previous
From: Jeff Janes
Date:
Subject: Re: about fsync in CLOG buffer write
Next
From: Robert Haas
Date:
Subject: Re: RFC: replace pg_stat_activity.waiting with something more descriptive