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
|
Список | 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 по дате отправления: