postgresql/src/include/storage
Tom Lane ebfc56d3fb Handle impending sinval queue overflow by means of a separate signal
(SIGUSR1, which we have not been using recently) instead of piggybacking
on SIGUSR2-driven NOTIFY processing.  This has several good results:
the processing needed to drain the sinval queue is a lot less than the
processing needed to answer a NOTIFY; there's less contention since we
don't have a bunch of backends all trying to acquire exclusive lock on
pg_listener; backends that are sitting inside a transaction block can
still drain the queue, whereas NOTIFY processing can't run if there's
an open transaction block.  (This last is a fairly serious issue that
I don't think we ever recognized before --- with clients like JDBC that
tend to sit with open transaction blocks, the sinval queue draining
mechanism never really worked as intended, probably resulting in a lot
of useless cache-reset overhead.)  This is the last of several proposed
changes in response to Philip Warner's recent report of sinval-induced
performance problems.
2004-05-23 03:50:45 +00:00
..
backendid.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
block.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
buf.h Tiny assorted fixes: correct a typo in a comment in vacuumlazy.c, remove 2004-04-25 23:50:58 +00:00
buf_internals.h Another round of code cleanup on bufmgr. Use BM_VALID flag to keep track 2004-04-21 18:06:30 +00:00
buffile.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
bufmgr.h Get rid of rd_nblocks field in relcache entries. Turns out this was 2004-05-08 19:09:25 +00:00
bufpage.h Fix thinko in comment. 2003-12-11 21:21:55 +00:00
fd.h Replace opendir/closedir calls throughout the backend with AllocateDir 2004-02-23 23:03:10 +00:00
freespace.h This patch properly sets the prototype for the on_shmem_exit and 2003-12-12 18:45:10 +00:00
ipc.h * Most changes are to fix warnings issued when compiling win32 2004-04-19 17:42:59 +00:00
item.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
itemid.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
itempos.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
itemptr.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
large_object.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
lmgr.h Try to reduce confusion about what is a lock method identifier, a lock 2003-12-01 21:59:25 +00:00
lock.h This patch is the next step towards (re)allowing fork/exec. 2003-12-20 17:31:21 +00:00
lwlock.h This patch is the next step towards (re)allowing fork/exec. 2003-12-20 17:31:21 +00:00
off.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
pg_sema.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
pg_shmem.h Avoid assuming that type key_t is 32 bits, since it reportedly isn't 2003-12-01 22:15:38 +00:00
pmsignal.h Handle impending sinval queue overflow by means of a separate signal 2004-05-23 03:50:45 +00:00
pos.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
proc.h Try to reduce confusion about what is a lock method identifier, a lock 2003-12-01 21:59:25 +00:00
relfilenode.h New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
s_lock.h Must test for __hppa__ as well as __hppa to make linux-hppa happy. 2004-01-03 05:47:44 +00:00
shmem.h This patch is the next step towards (re)allowing fork/exec. 2003-12-20 17:31:21 +00:00
sinval.h Handle impending sinval queue overflow by means of a separate signal 2004-05-23 03:50:45 +00:00
sinvaladt.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
smgr.h Commit the reasonably uncontroversial parts of J.R. Nield's PITR patch, to 2004-02-11 22:55:26 +00:00
spin.h make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00