pgsql: Change the way that LWLocks for extensions are allocated.
От | Robert Haas |
---|---|
Тема | pgsql: Change the way that LWLocks for extensions are allocated. |
Дата | |
Msg-id | E1aRRgI-00022x-UD@gemulon.postgresql.org обсуждение исходный текст |
Ответы |
Re: pgsql: Change the way that LWLocks for extensions
are allocated.
|
Список | pgsql-committers |
Change the way that LWLocks for extensions are allocated. The previous RequestAddinLWLocks() method had several disadvantages. First, the locks would be in the main tranche; we've recently decided that it's useful for LWLocks used for separate purposes to have separate tranche IDs. Second, there wasn't any correlation between what code called RequestAddinLWLocks() and what code called LWLockAssign(); when multiple modules are in use, it could become quite difficult to troubleshoot problems where LWLockAssign() ran out of locks. To fix, create a concept of named LWLock tranches which can be used either by extension or by core code. Amit Kapila and Robert Haas Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/c1772ad9225641c921545b35c84ee478c326b95e Modified Files -------------- contrib/pg_stat_statements/pg_stat_statements.c | 4 +- doc/src/sgml/xfunc.sgml | 9 +- src/backend/postmaster/postmaster.c | 6 + src/backend/storage/lmgr/lwlock.c | 212 ++++++++++++++++++++---- src/include/pg_config_manual.h | 5 - src/include/storage/lwlock.h | 22 ++- src/tools/pgindent/typedefs.list | 2 + 7 files changed, 210 insertions(+), 50 deletions(-)
В списке pgsql-committers по дате отправления: