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
Re: [HACKERS] Deadlock in XLogInsert at AIX Re: [HACKERS] Deadlock in XLogInsert at AIX |
Список | 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 по дате отправления: