Poll postmaster less frequently in recovery.
authorThomas Munro <tmunro@postgresql.org>
Fri, 12 Mar 2021 06:08:52 +0000 (19:08 +1300)
committerThomas Munro <tmunro@postgresql.org>
Fri, 12 Mar 2021 06:45:42 +0000 (19:45 +1300)
commit57dcc2ef3320de3e1aef6f668601e6ad2bdf88c4
tree7d387bb14cd1229ead9b6b64b0f4d8dae14a4ef7
parentde829ddf23f69190efb4e0178704c4c4228e17cd
Poll postmaster less frequently in recovery.

Since commits 9f095299 and f98b8476 we don't poll the postmaster
pipe at all during crash recovery on Linux and FreeBSD, but on other
operating systems we were still doing it for every WAL record.  Do it
less frequently on operating systems where system calls are required, at
the cost of delaying exit a bit after postmaster death.  This avoids
expensive system calls reported to slow down CPU-bound recovery by as
much as 10-30%.

Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Reviewed-by: Fujii Masao <masao.fujii@oss.nttdata.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/CA%2BhUKGK1607VmtrDUHQXrsooU%3Dap4g4R2yaoByWOOA3m8xevUQ%40mail.gmail.com
Discussion: https://postgr.es/m/7261eb39-0369-f2f4-1bb5-62f3b6083b5e@iki.fi
src/backend/postmaster/startup.c