Re: Excessive PostmasterIsAlive calls slow down WAL redo

From: Andres Freund <andres(at)anarazel(dot)de>
To: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>,Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>,pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Excessive PostmasterIsAlive calls slow down WAL redo
Date: 2018-04-19 06:20:33
Message-ID: A12BDC2E-0A25-4879-A295-552607A33B20@anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On April 18, 2018 8:05:50 PM PDT, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com> wrote:
>On Wed, Apr 18, 2018 at 5:04 PM, Thomas Munro
><thomas(dot)munro(at)enterprisedb(dot)com> wrote:
>> On Wed, Apr 11, 2018 at 10:22 PM, Heikki Linnakangas
><hlinnaka(at)iki(dot)fi> wrote:
>>>> On Tue, Apr 10, 2018 at 12:53 PM, Andres Freund
><andres(at)anarazel(dot)de>
>>>> wrote:
>>>>> That person said he'd work on adding an equivalent of linux'
>>>>> prctl(PR_SET_PDEATHSIG) to FreeBSD.
>>
>> Here is an implementation of Andres's idea for Linux, and also for
>> patched FreeBSD (for later if/when that lands). Do you think this
>> makes sense Heikki? I am planning to add this to the next CF.
>
>Here's a new version with a stupid bug fixed (I accidentally posted a
>testing version that returned false instead of true, as cfbot quickly
>pointed out -- d'oh).
>
>By the way, these patches only use the death signal to make
>PostmasterIsAlive() fast, for use by busy loops like recovery. The
>postmaster pipe is still used for IO/timeout loops to detect
>postmaster death. In theory you could get rid of the postmaster pipe
>completely when USE_POSTMASTER_DEATH_SIGNAL is defined and make it
>like the latch code, using the same self-pipe. I'm not sure if there
>is anything to be gained by that (that wasn't already gained by using
>epoll/kqueue) so I'm not proposing it.

In my local prototype patch I'd done so. And I think it makes sense, because it's s somewhat contended object, even when using epoll/kqueue. On the other hand, it makes the chide changed a bit harder, making it pretty was were I suspended the work for a bit...
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2018-04-19 06:44:05 Re: Corrupted btree index on HEAD because of covering indexes
Previous Message Peter Geoghegan 2018-04-19 06:13:33 Re: WIP: Covering + unique indexes.