Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease
От
MauMau
Тема
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease
Дата
Msg-id
15A823BADF494D0B8D65718485D2DDD0@maumau
Ответ на
Список
Дерево обсуждения
Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Tom Lane <tgl@sss.pgh.pa.us>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Tom Lane <tgl@sss.pgh.pa.us>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Heikki Linnakangas <hlinnakangas@vmware.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Tom Lane <tgl@sss.pgh.pa.us>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Heikki Linnakangas <hlinnakangas@vmware.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Heikki Linnakangas <hlinnakangas@vmware.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Heikki Linnakangas <hlinnakangas@vmware.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Heikki Linnakangas <hlinnakangas@vmware.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Heikki Linnakangas <hlinnakangas@vmware.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease knizhnik <knizhnik@garret.ru>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease knizhnik <knizhnik@garret.ru>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Tom Lane <tgl@sss.pgh.pa.us>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Robert Haas <robertmhaas@gmail.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Robert Haas <robertmhaas@gmail.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Tom Lane <tgl@sss.pgh.pa.us>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease "MauMau" <maumau307@gmail.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease "MauMau" <maumau307@gmail.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease Andres Freund <andres@2ndquadrant.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease "MauMau" <maumau307@gmail.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease "MauMau" <maumau307@gmail.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Florian Pflug <fgp@phlo.org>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease knizhnik <knizhnik@garret.ru>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Ants Aasma <ants@cybertec.at>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters,
WALInsertSlotRelease knizhnik <knizhnik@garret.ru>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Peter Geoghegan <pg@heroku.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease "MauMau" <maumau307@gmail.com>
Re: Memory ordering issue in LWLockRelease, WakeupWaiters, WALInsertSlotRelease Heikki Linnakangas <hlinnakangas@vmware.com>
From: "Andres Freund" > which means they manipulate the lwWaitLink queue without > protection. That's done intentionally. The code tries to protect against > corruption of the list to do a woken up backend acquiring a lock (this > or an independent one) by only continuing when the lwWaiting flag is set > to false. Unfortunately there's absolutely no guarantee that a) the > assignment to lwWaitLink and lwWaiting are done in that order b) that > the stores are done in-order from the POV of other backends. > So what we need to do is to acquire a write barrier between the > assignments to lwWaitLink and lwWaiting, i.e. > proc->lwWaitLink = NULL; > pg_write_barrier(); > proc->lwWaiting = false; > the reader side already uses an implicit barrier by using spinlocks. I've got a report from one customer that they encountered a hang during performance benchmarking. They were using PostgreSQL 9.2.4. I remember that the stack trace showed many backends blocked forever at LWLockAcuuire() during btree insert operation. I'm not sure this has something to do with what you are raising, but the release notes for 9.2.5/6 doesn't suggest any fixes for this. So I felt there is something wrong with lwlocks. Do you think that your question could cause my customer's problem -- backends block at lwlock forever? Regards MauMau
В списке pgsql-hackers по дате отправления
От: Andres Freund
Дата: