pgsql: Seems I was too optimistic in supposing that sinval's maxMsgNum

Поиск
Список
Период
Сортировка
От tgl@postgresql.org (Tom Lane)
Тема pgsql: Seems I was too optimistic in supposing that sinval's maxMsgNum
Дата
Msg-id 20080620002454.1C830754595@cvs.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Seems I was too optimistic in supposing that sinval's maxMsgNum could be
read and written without a lock.  The value itself is atomic, sure, but on
processors with weak memory ordering it's possible for a reader to see the
value change before it sees the associated message written into the buffer
array.  Fix by introducing a spinlock that's used just to read and write
maxMsgNum.  (We could do this with less overhead if we recognized a concept
of "memory access barrier"; is it worth introducing such a thing?  At the
moment probably not --- I can't measure any clear slowdown from adding the
spinlock, so this solution is probably fine.)  Per buildfarm results.

Modified Files:
--------------
    pgsql/src/backend/storage/ipc:
        sinvaladt.c (r1.71 -> r1.72)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/sinvaladt.c?r1=1.71&r2=1.72)

В списке pgsql-committers по дате отправления:

Предыдущее
От: tgl@postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql: Rewrite the sinval messaging mechanism to reduce contention and
Следующее
От: fxjr@pgfoundry.org (User Fxjr)
Дата:
Сообщение: npgsql - Npgsql2: [#1003400] Later type binding for DbType.Object