Re: checkpointer continuous flushing

From: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, PostgreSQL Developers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: checkpointer continuous flushing
Date: 2015-09-09 19:45:54
Message-ID: alpine.DEB.2.10.1509092129460.21932@sto
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


>> As I wrote before, FreeBSD would be a good candidate because the
>> posix_fadvise seems much more reasonable than on Linux, and should be
>> profitable, so it would be a pity to remove it.
>
> Why do you think it's different on fbsd? Also, why is it unreasonable
> that DONNEED removes stuff from the cache?

Yep, I agree that this part is a bad point, obviously, but at least there
is also some advantage: I understood that buffers are actually pushed
towards the disk when calling posix_fadvise with DONTNEED on FreeBSD, so
in-buffer tests shoud see better performance, and out-of-buffer in-memory
tests would probably be degraded as Amit test shown on Linux. As an admin
I can choose if I know whether I run in buffer or not.

On Linux either the call is ignored (if the page is not written yet) or
the page is coldly removed, so it has either no effect or a bad effect,
basically.

So I think that the current off default when running with posix_fadvise is
reasonable, and in some case turning it on can probably provide a better
performance stability, esp for in-buffer runs.

Now, franckly I do not care much about FreeBSD or Windows, so I'm fine
with dropping posix_fadvise if this is a blocker.

--
Fabien.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2015-09-09 19:55:58 Re: proposal: function parse_ident
Previous Message Andres Freund 2015-09-09 19:36:25 Re: checkpointer continuous flushing