Re: about fsync in CLOG buffer write

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: 张广舟(明虚) <guangzhou(dot)zgz(at)alibaba-inc(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, 周正中(德歌) <dege(dot)zzz(at)alibaba-inc(dot)com>, 范孝剑(康贤) <funnyxj(dot)fxj(at)alibaba-inc(dot)com>, 曾文旌(义从) <wenjing(dot)zwj(at)alibaba-inc(dot)com>, 窦贤明(执白) <xianming(dot)dxm(at)alibaba-inc(dot)com>, 萧少聪(铁庵) <shaocong(dot)xsc(at)alibaba-inc(dot)com>, 陈新坚(惧留孙) <xinjian(dot)chen(at)alibaba-inc(dot)com>
Subject: Re: about fsync in CLOG buffer write
Date: 2015-09-13 00:18:28
Message-ID: CAMkU=1xHY3rpovpdeu6TfdFghOr+4NTT=CGcC5Zp+34ERjSUbg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Sep 2, 2015 at 5:32 AM, Andres Freund <andres(at)anarazel(dot)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.

Cheers,

Jeff

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2015-09-13 00:21:35 Re: about fsync in CLOG buffer write
Previous Message Stephen Frost 2015-09-12 21:18:32 Re: typo in create policy doc