Hi

Is there some help for extensions developers, how to fix extensions after
this change?

Orafce hits this change.

Regards

Pavel

2016-12-16 17:41 GMT+01:00 Robert Haas <[email protected]>:

> Simplify LWLock tranche machinery by removing array_base/array_stride.
>
> array_base and array_stride were added so that we could identify the
> offset of an LWLock within a tranche, but this facility is only very
> marginally used apart from the main tranche.  So, give every lock in
> the main tranche its own tranche ID and get rid of array_base,
> array_stride, and all that's attached.  For debugging facilities
> (Trace_lwlocks and LWLOCK_STATS) print the pointer address of the
> LWLock using %p instead of the offset.  This is arguably more useful,
> and certainly a lot cheaper.  Drop the offset-within-tranche from
> the information reported to dtrace and from one can't-happen message
> inside lwlock.c.
>
> The main user-visible impact of this change is that pg_stat_activity
> will now report all waits for LWLocks as "LWLock" rather than
> reporting some as "LWLockTranche" and others as "LWLockNamed".
>
> The main motivation for this change is that the need to specify an
> array_base and an array_stride is awkward for parallel query.  There
> is only a very limited supply of tranche IDs so we can't just keep
> allocating new ones, and if we try to use the same tranche IDs every
> time then we run into trouble when multiple parallel contexts are
> use simultaneously.  So if we didn't get rid of this mechanism we'd
> have to make it even more complicated.  By simplifying it in this
> way, we instead reduce the size of the generated code for lwlock.c
> by about 5%.
>
> Discussion: http://postgr.es/m/CA+TgmoYsFn6NUW1x0AZtupJGUAs1UDY4
> [email protected]
>
> Branch
> ------
> master
>
> Details
> -------
> http://git.postgresql.org/pg/commitdiff/3761fe3c20bb040b15f0e8da58d824
> 631da00caa
>
> Modified Files
> --------------
> doc/src/sgml/monitoring.sgml             |  52 ++++-----
> src/backend/access/transam/slru.c        |   6 +-
> src/backend/access/transam/xlog.c        |   9 +-
> src/backend/postmaster/pgstat.c          |  10 +-
> src/backend/replication/logical/origin.c |   8 +-
> src/backend/replication/slot.c           |   8 +-
> src/backend/storage/buffer/buf_init.c    |  16 +--
> src/backend/storage/ipc/procarray.c      |   9 +-
> src/backend/storage/lmgr/lwlock.c        | 175
> ++++++++++---------------------
> src/backend/utils/mmgr/dsa.c             |  15 +--
> src/backend/utils/probes.d               |  16 +--
> src/include/access/slru.h                |   1 -
> src/include/pgstat.h                     |   3 +-
> src/include/storage/lwlock.h             |  45 ++------
> 14 files changed, 112 insertions(+), 261 deletions(-)
>
>
> --
> Sent via pgsql-committers mailing list ([email protected])
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-committers
>

Reply via email to