Re: [HACKERS] Deadlock in XLogInsert at AIX

Поиск
Список
Период
Сортировка
От Konstantin Knizhnik
Тема Re: [HACKERS] Deadlock in XLogInsert at AIX
Дата
Msg-id 7609057e-b021-56d8-afb6-27acc1dfdeea@postgrespro.ru
обсуждение исходный текст
Ответ на Re: [HACKERS] Deadlock in XLogInsert at AIX  (Heikki Linnakangas <hlinnaka@iki.fi>)
Ответы Re: [HACKERS] Deadlock in XLogInsert at AIX  (Heikki Linnakangas <hlinnaka@iki.fi>)
Re: [HACKERS] Deadlock in XLogInsert at AIX  (Heikki Linnakangas <hlinnaka@iki.fi>)
Re: [HACKERS] Deadlock in XLogInsert at AIX  ("REIX, Tony" <tony.reix@atos.net>)
Список pgsql-hackers
Attached please find my patch for XLC/AIX.
The most critical fix is adding __sync to pg_atomic_fetch_add_u32_impl.
The comment in this file says that:

       * __fetch_and_add() emits a leading "sync" and trailing "isync", 
thereby
       * providing sequential consistency.  This is undocumented.

But it is not true any more (I checked generated assembler code in 
debugger).
This is why I have added __sync() to this function. Now pgbench working 
normally.

Also there is mysterious disappearance of assembler section function 
with sync instruction from pg_atomic_compare_exchange_u32_impl.
I have fixed it by using __sync() built-in function instead.


Thanks to everybody who helped me to locate and fix this problem.

-- 

Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Вложения

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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: [HACKERS] Performance improvement for joins where outer side is unique
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: pg_authid.rolpassword format (was Re: [HACKERS] Passwordidentifiers, protocol aging and SCRAM protocol)