pgsql: HS Defer buffer pin deadlock check until deadlock_timeout has

From: sriggs(at)postgresql(dot)org (Simon Riggs)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: HS Defer buffer pin deadlock check until deadlock_timeout has
Date: 2010-05-26 19:52:52
Message-ID: 20100526195252.E3CCE7541D2@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
HS Defer buffer pin deadlock check until deadlock_timeout has expired.
During Hot Standby we need to check for buffer pin deadlocks when the
Startup process begins to wait, in case it never wakes up again. We
previously made the deadlock check immediately on the basis it was
cheap, though clearer thinking and prima facie evidence shows that
was too simple. Refactor existing code to make it easy to add in
deferral of deadlock check until deadlock_timeout allowing a good
reduction in deadlock checks since far few buffer pins are held for
that duration. It's worth doing anyway, though major goal is to
prevent further reports of context switching with high numbers of
users on occasional tests.

Modified Files:
--------------
pgsql/src/backend/storage/ipc:
standby.c (r1.23 -> r1.24)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/standby.c?r1=1.23&r2=1.24)
pgsql/src/backend/storage/lmgr:
proc.c (r1.218 -> r1.219)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c?r1=1.218&r2=1.219)
pgsql/src/include/storage:
proc.h (r1.121 -> r1.122)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/proc.h?r1=1.121&r2=1.122)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2010-05-26 20:47:14 pgsql: Fix bogus error message for SSL-cert authentication, due to lack
Previous Message Robert Haas 2010-05-26 19:29:22 pgsql: Fix psql help: \da+ is same as \da, but \daS is not.