Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease
От | Andres Freund |
---|---|
Тема | Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease |
Дата | |
Msg-id | 20140210164110.GC15246@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease
|
Список | pgsql-hackers |
On 2014-02-10 11:20:30 -0500, Tom Lane wrote: > I wrote: > > You didn't really explain why you think that ordering is necessary? > > Actually, after grepping to check my memory of what those fields are > being used for, I have a bigger question: WTF is xlog.c doing being > so friendly with the innards of LWLocks? Surely this needs to get > refactored so that most of WakeupWaiters() and friends is in lwlock.c. > Or has all notion of modularity gone out the window while I wasn't > looking? Well, it's not actually using any lwlock.c code, it's a special case locking logic, just reusing the datastructures. That said, I am not particularly happy about the amount of code it's duplicating from lwlock.c. Pretty much all of WALInsertSlotReleaseOne and most of WALInsertSlotAcquireOne() is a copied. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: