Обсуждение: Does v7.2.x support AIX 5.1?
Hi guys, We received a query through the Advocacy site about whether we support AIX 5.1 or not, so am trying to find out. Just took a look at the Supported Platforms list, and the FAQ_AIX document (for 7.2.x) and it doesn't seem to mention specific versions of AIX that are supported. Does PostgreSQL 7.2.x (and also 7.3 when it's released) support AIX 5.1? :-) Regards and best wishes, Justin Clift -- "My grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in the first group; there was less competition there." - Indira Gandhi
Justin Clift <justin@postgresql.org> writes: > We received a query through the Advocacy site about whether we support > AIX 5.1 or not, so am trying to find out. It should work. Andreas just submitted a port confirmation on AIX 4.3.2 ... regards, tom lane
Tom Lane wrote: > > Justin Clift <justin@postgresql.org> writes: > > We received a query through the Advocacy site about whether we support > > AIX 5.1 or not, so am trying to find out. > > It should work. Andreas just submitted a port confirmation on AIX > 4.3.2 ... Thanks Tom. :) Do you feel there's anyone around that would be able to give a definitite yes or no? Am prepared to say "it should work" as an answer, but would prefer to give something more definite if possible. Just being careful here. :-) Regards and best wishes, Justin Clift > regards, tom lane -- "My grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in the first group; there was less competition there." - Indira Gandhi
Justin Clift wrote: > Tom Lane wrote: > > > > Justin Clift <justin@postgresql.org> writes: > > > We received a query through the Advocacy site about whether we support > > > AIX 5.1 or not, so am trying to find out. > > > > It should work. Andreas just submitted a port confirmation on AIX > > 4.3.2 ... > > Thanks Tom. :) > > Do you feel there's anyone around that would be able to give a > definitite yes or no? > > Am prepared to say "it should work" as an answer, but would prefer to > give something more definite if possible. I checked the supported platforms list for 7.2 at: http://www.us.postgresql.org/users-lounge/docs/7.2/postgres/supported-platforms.html and saw: AIX RS60007.22001-12-19, Andreas Zeugswetter (<ZeugswetterA@spardat.at>),Tatsuo Ishii (<t-ishii@sra.co.jp>)see also doc/FAQ_AIX FAQ_AIX has specific version information. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
> > > > We received a query through the Advocacy site about whether we support > > > > AIX 5.1 or not, so am trying to find out. > > > > > > It should work. Andreas just submitted a port confirmation on AIX > > > 4.3.2 ... > > Do you feel there's anyone around that would be able to give a > > definitite yes or no? I don't have AIX 5 here, so cannot test, sorry. But yes, it should definitely work. There is a known possible performance improvement for concurrent sessions on multiprocessor AIX machines. The now depricated "cs(3)" used for the AIX TAS implementation should be replaced with fetch_and_or, compare_and_swap or the like. I just haven't got round to doing a patch that I trust. Maybe Tatsuo can say more ? Andreas
Zeugswetter Andreas SB SD wrote: > I don't have AIX 5 here, so cannot test, sorry. > But yes, it should definitely work. > > There is a known possible performance improvement for concurrent sessions on > multiprocessor AIX machines. The now depricated "cs(3)" used for the AIX TAS > implementation should be replaced with fetch_and_or, compare_and_swap or the > like. I just haven't got round to doing a patch that I trust. > > Maybe Tatsuo can say more ? cs() is gone in 7.3beta because cs() was failing on SMP machines anyway. The new code is: #define TAS(lock) _check_lock(lock, 0, 1)#define S_UNLOCK(lock) _clear_lock(lock, 0) -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
> > I don't have AIX 5 here, so cannot test, sorry. > > But yes, it should definitely work. > > > > There is a known possible performance improvement for concurrent sessions on > > multiprocessor AIX machines. The now depricated "cs(3)" used for the AIX TAS > > implementation should be replaced with fetch_and_or, compare_and_swap or the > > like. I just haven't got round to doing a patch that I trust. > > > > Maybe Tatsuo can say more ? > > cs() is gone in 7.3beta because cs() was failing on SMP machines anyway. > The new code is: > > #define TAS(lock) _check_lock(lock, 0, 1) > #define S_UNLOCK(lock) _clear_lock(lock, 0) Ah, great. That is perfect. Has slipped in without me noticing :-) Thanks to whoever fixed this Andreas
Zeugswetter Andreas SB SD wrote: > > > > I don't have AIX 5 here, so cannot test, sorry. > > > But yes, it should definitely work. > > > > > > There is a known possible performance improvement for concurrent sessions on > > > multiprocessor AIX machines. The now depricated "cs(3)" used for the AIX TAS > > > implementation should be replaced with fetch_and_or, compare_and_swap or the > > > like. I just haven't got round to doing a patch that I trust. > > > > > > Maybe Tatsuo can say more ? > > > > cs() is gone in 7.3beta because cs() was failing on SMP machines anyway. > > The new code is: > > > > #define TAS(lock) _check_lock(lock, 0, 1) > > #define S_UNLOCK(lock) _clear_lock(lock, 0) > > Ah, great. That is perfect. Has slipped in without me noticing :-) According to CVS, it was Tomoyuki Niijima: --------------------------------------------------------------------------- I tried to build PostgreSQL with the following step to see backends hung during the regression test. The problem has been reproduced on two machine but both of these are the same type of hardware and software. I also tried to recreate the problem on other machines, on older version of AIX but I couldn't. After looked through pgsql-hackers mailing list, I focused on spin lock issue to solve the problem. The easiest and may not be the best solution for the problem is to give up HAS_TEST_AND_SET. This actually works. One another and better solution for the problem is to use _check_lock() and _clear_lock() as spin lock. Important thing here is to define S_UNLOCK() with _clear_lock(). This will solve the so called "Compiler bug" issue someone wrote on the mailing list. We have some other API such as cs(), compare_and_swap() and fetch_and_or() to do test and set on AIX, but any of these didn't solve my problem. I wrote tiny testing program to see if we have any bug of these API of AIX, but I couldn't see any problem except for compare_and_swap(). It seems that you can not use compare_and_swap() for the purpose, as it would not work as spin lock on any SMP machines I tested. I don't know the reason why cs() nor fetch_and_or()/fetch_and_and() will not work with PostgreSQL on p690. These worked with my testing program on all machines I tested. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073