Re: Move PinBuffer and UnpinBuffer to atomics
От | Andres Freund |
---|---|
Тема | Re: Move PinBuffer and UnpinBuffer to atomics |
Дата | |
Msg-id | 20160329181935.GH25907@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: Move PinBuffer and UnpinBuffer to atomics (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On 2016-03-29 14:09:42 -0400, Tom Lane wrote: > Andres Freund <andres@anarazel.de> writes: > > There's actually lbarx/stbcx - but it's not present in all ISAs. So I > > guess it's clear where to go. > > Hm. We could certainly add a configure test to see if the local assembler > knows these instructions --- but it's not clear that we should depend on > compile-time environment to match run-time. I think it'd be easier to continue using lwarx/stwcx, but be careful about only testing/setting the lowest byte, if we want to go there. But that then likely would require hints about alignment to the compiler... i've no experience writing ppc assembly, but it doesn't look too hard. but i think it's easier to just remove the spinlock from struct lwlock then - and it also improves the situation for other architectures with wider spinlocks. i think that's beneficial for some future things anyway. > Googling suggests that these instructions came in with PPC ISA 2.06 > which seems to date to 2010. So there's undoubtedly still production > hardware without them. > > In the department of not-production hardware, I checked this on prairiedog > and got > /var/tmp/ccbQy9uG.s:1722:Invalid mnemonic 'lbarx' > /var/tmp/ccbQy9uG.s:1726:Invalid mnemonic 'stbcx.' Heh. Thanks for testing. Andres
В списке pgsql-hackers по дате отправления: