Re: Spinlocks and compiler/memory barriers

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Spinlocks and compiler/memory barriers
Дата
Msg-id 20140909220024.GE24649@awork2.anarazel.de
обсуждение исходный текст
Ответ на Re: Spinlocks and compiler/memory barriers  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Spinlocks and compiler/memory barriers  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On 2014-09-09 17:54:03 -0400, Robert Haas wrote:
> So, that's committed, then.

Yay, finally.

> I think we should pick something that uses
> spinlocks and is likely to fail spectacularly if we haven't got this
> totally right yet, and de-volatilize it.  And then watch to see what
> turns red in the buildfarm and/or which users start screaming.

Good plan.

> I'm inclined to propose lwlock.c as a candidate, since that's very
> widely used and a place where we know there's significant contention.

I suggest, additionally possibly, GetSnapshotData(). It's surely one of
the hottest functions in postgres, and I've seen some performance
increases from de-volatilizing it. IIRC it requires one volatile cast in
one place to enforce that a variable is accessed only once. Not sure if
we want to add such volatile casts or use something like linux'
ACCESS_ONCE macros for some common types. Helps to grep for places
worthy of inspection.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Spinlocks and compiler/memory barriers
Следующее
От: Petr Jelinek
Дата:
Сообщение: Re: pg_background (and more parallelism infrastructure patches)