Re: Background writer process

From: Jan Wieck <JanWieck(at)Yahoo(dot)com>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Kurt Roeckx <Q(at)ping(dot)be>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Background writer process
Date: 2003-11-13 22:31:51
Message-ID: 3FB40657.2080009@Yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian wrote:

> Kurt Roeckx wrote:
>> On Thu, Nov 13, 2003 at 04:35:31PM -0500, Jan Wieck wrote:
>> > For sure the sync() needs to be replaced by the discussed fsync() of
>> > recently written files. And I think the algorithm how much and how often
>> > to flush can be significantly improved. But after all, this does not
>> > change the real checkpointing at all, and the general framework having a
>> > separate process is what we probably want.
>>
>> Why is the sync() needed at all? My understanding was that it
>> was only needed in case of a checkpoint.
>
> He found that write() itself didn't encourage the kernel to write the
> buffers to disk fast enough. I think the final solution will be to use
> fsync or O_SYNC.
>

write() alone doesn't encourage the kernel to do any physical IO at all.
As long as you have enough OS buffers, it does happy write caching until
you checkpoint and sync(), and then the system freezes.

Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2003-11-13 22:39:32 Re: Background writer process
Previous Message Andrew Dunstan 2003-11-13 22:23:08 Re: cvs head? initdb?