Re: Obsolete use of volatile in walsender.c, walreceiver.c, walreceiverfuncs.c?
От | Robert Haas |
---|---|
Тема | Re: Obsolete use of volatile in walsender.c, walreceiver.c, walreceiverfuncs.c? |
Дата | |
Msg-id | CA+TgmoZ4+oaRfd8E-7dmDOuSjFSOy_W1EUjcX_r3KyKT762a7A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Obsolete use of volatile in walsender.c, walreceiver.c, walreceiverfuncs.c? (Michael Paquier <michael.paquier@gmail.com>) |
Ответы |
Re: Obsolete use of volatile in walsender.c, walreceiver.c, walreceiverfuncs.c?
|
Список | pgsql-hackers |
On Thu, Oct 15, 2015 at 10:36 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > On Fri, Oct 16, 2015 at 9:07 AM, Thomas Munro > <thomas.munro@enterprisedb.com> wrote: >> On Wed, Oct 7, 2015 at 8:52 AM, Robert Haas <robertmhaas@gmail.com> wrote: >>> On Thu, Oct 1, 2015 at 11:01 PM, Michael Paquier >>> <michael.paquier@gmail.com> wrote: >>>>> Right, see attached. >>>> >>>> It seems to me that we could as well simplify checkpoint.c and >>>> logical.c. In those files volatile casts are used as well to protect >>>> from reordering for spinlock operations. See for example 0002 on top >>>> of 0001 that is Thomas' patch. >>> >>> These patches look good to me, so I have committed them. >> >> Thanks. Also, spin.h's comment contains an out of date warning about >> this. Here's a suggested fix for that, and a couple more volatrivia >> patches. > > I have looked at the rest of the code, and it seems that we can get > rid of volatile in a couple of extra places like in the attached as > those are used with spin locks. This applies on top of Thomas' set. OK, committed his, and yours. I back-patched his spin.h comment fix to 9.5 since that's a factual error, but the rest of this seems like optimization so I committed it only to master. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: