Re: [HACKERS] Deadlock in XLogInsert at AIX
| От | Noah Misch |
|---|---|
| Тема | Re: [HACKERS] Deadlock in XLogInsert at AIX |
| Дата | |
| Msg-id | 20190831223026.GA3257395@rfd.leadboat.com обсуждение исходный текст |
| Ответ на | Re: [HACKERS] Deadlock in XLogInsert at AIX (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: [HACKERS] Deadlock in XLogInsert at AIX
|
| Список | pgsql-hackers |
On Sat, Aug 31, 2019 at 02:27:55PM -0400, Tom Lane wrote: > Noah Misch <noah@leadboat.com> writes: > > Done. fetch-add-variable-test-v1.patch just adds tests for non-constant > > addends and 16-bit edge cases. Today's implementation handles those, > > PostgreSQL doesn't use them, and I might easily have broken them. > > fetch-add-xlc-asm-v1.patch moves xlc builds from the __fetch_and_add() > > intrinsic to inline asm. fetch-add-gcc-xlc-unify-v1.patch moves fetch_add to > > inline asm for all other ppc compilers. gcc-7.2.0 generates equivalent code > > before and after. I plan to keep the third patch HEAD-only, back-patching the > > other two. I tested with xlc v12 and v13. > > Hm, no objection to the first two patches, but I don't understand > why the third patch goes to so much effort just to use "addi" rather > than (one assumes) "li" then "add"? It doesn't seem likely that > that's buying much. Changing an addi to li+add may not show up on benchmarks, but I can't claim it's immaterial. I shouldn't unify the code if that makes the compiled code materially worse than what the gcc intrinsics produce today, hence the nontrivial (~50 line) bits to match the intrinsics' capabilities.
В списке pgsql-hackers по дате отправления: