Re: V8.0rc1 On AIX.

Lists: pgsql-hackers
From: Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>
To: pgsql-hackers(at)postgresql(dot)org
Subject: V8.0rc1 On AIX.
Date: 2004-12-14 15:51:37
Message-ID: 41BF0C09.4000708@ca.afilias.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

AIX 5.1

I applied Bruce's patch, configured with --enable-thread-safety and
everything went smoothly.

> ======================
> All 96 tests passed.
> ======================

Brad.


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-14 16:09:20
Message-ID: 200412141709.20181.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Am Dienstag, 14. Dezember 2004 16:51 schrieb Brad Nicholson:
> AIX 5.1
>
> I applied Bruce's patch, configured with --enable-thread-safety and
> everything went smoothly.

Nonetheless, threading support on AIX being a new feature, I don't think this
should go into 8.0.0.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-14 18:03:31
Message-ID: 200412141803.iBEI3VM11466@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Peter Eisentraut wrote:
> Am Dienstag, 14. Dezember 2004 16:51 schrieb Brad Nicholson:
> > AIX 5.1
> >
> > I applied Bruce's patch, configured with --enable-thread-safety and
> > everything went smoothly.
>
> Nonetheless, threading support on AIX being a new feature, I don't think this
> should go into 8.0.0.

Huh, isn't this port testing? Do we not want to fix port bugs at this stage?

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-14 18:18:42
Message-ID: 200412141918.42713.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce Momjian wrote:
> Huh, isn't this port testing? Do we not want to fix port bugs at
> this stage?

We are not really fixing anything, because it was never expected to work
before. We are adding new functionality. It is, of course, a
borderline case. But for example, do we have any information about
whether what is being implemented actually works? I don't want to find
out in two weeks, that yes, we managed to compile with thread support,
but no, threaded applications still have issues on that platform.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-14 18:51:24
Message-ID: 200412141851.iBEIpOt16965@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Peter Eisentraut wrote:
> Bruce Momjian wrote:
> > Huh, isn't this port testing? Do we not want to fix port bugs at
> > this stage?
>
> We are not really fixing anything, because it was never expected to work
> before. We are adding new functionality. It is, of course, a
> borderline case. But for example, do we have any information about
> whether what is being implemented actually works? I don't want to find
> out in two weeks, that yes, we managed to compile with thread support,
> but no, threaded applications still have issues on that platform.

I assume threads are supposed to work on all platforms that support it.
We have new threading detection code in 8.0 so I expected some
adjustments. Also, someone pointed out that the problem was reported
during beta but I missed it.

As far as testing we have to have the users do any testing. The thread
testing script already tests threading but the actual compile success is
what we are adjusting now.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073


From: Travis P <twp(at)castle(dot)fastmail(dot)fm>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-14 23:08:05
Message-ID: 0311AB9C-4E25-11D9-8DF3-003065F9DAF8@castle.fastmail.fm
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On Dec 14, 2004, at 12:51 PM, Bruce Momjian wrote:

> Peter Eisentraut wrote:
>> Bruce Momjian wrote:
>>> Huh, isn't this port testing? Do we not want to fix port bugs at
>>> this stage?
>>
>> We are not really fixing anything, because it was never expected to
>> work
>> before. We are adding new functionality. It is, of course, a
>> borderline case. But for example, do we have any information about
>> whether what is being implemented actually works? I don't want to
>> find
>> out in two weeks, that yes, we managed to compile with thread support,
>> but no, threaded applications still have issues on that platform.
>
> I assume threads are supposed to work on all platforms that support it.
> We have new threading detection code in 8.0 so I expected some
> adjustments. Also, someone pointed out that the problem was reported
> during beta but I missed it.
>
> As far as testing we have to have the users do any testing. The thread
> testing script already tests threading but the actual compile success
> is
> what we are adjusting now.

And that failure was, as I understand it, to accommodate using
/usr/bin/cc because as I mentioned in my port report on an AIX 5.1
system, /usr/bin/cc_r already works as-is.

I believe that cc_r just adds -DTHREAD_SAFETY, adds -lpthead, sets a
LIBPATH such that /usr/lib/threads preceeds /usr/lib/ so you pick up a
thread-safe libc.a (which you don't even necessarily need unless you
are assuming some libc functions are thread-safe -- if you are doing
higher-level sync yourself, then that might not even be necessary), and
cc_r does whatever other default defines, etc are best for a safe
multithreaded compilation. As I recall, it used to just be a
shell-script wrapper in AIX 4 days.

Now, on my AIX 5.1 system, /usr/bin/ cc and cc_r are both just symlinks
back to /usr/vac/bin/xlc. The different program names just invoke the
different settings. Brad: can you make such a symlink and compile
with that?, for example:
/home/u/brad/cc_r -> /usr/bin/xlc
./configure CC=/home/u/brad/cc_r ....

Certainly, pthreads do generally work on AIX. I've been using them for
years. However, I always use cc_r (or xlC_r) for multithreaded apps.
Peter has a point that the patch makes it compile, but does it make all
necessary adjustments such that everything will always work? I can't
answer that.

-Travis


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Travis P <twp(at)castle(dot)fastmail(dot)fm>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-14 23:35:00
Message-ID: 200412142335.iBENZ0810487@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


That's a good point. Should we just use cc_r for all thread compiles on
AIX if they are using cc and not gcc? I am not ready to have the
backend compiled with cc_r at this stage so I think this level of
support has to wait until 8.1.

---------------------------------------------------------------------------

Travis P wrote:
>
> On Dec 14, 2004, at 12:51 PM, Bruce Momjian wrote:
>
> > Peter Eisentraut wrote:
> >> Bruce Momjian wrote:
> >>> Huh, isn't this port testing? Do we not want to fix port bugs at
> >>> this stage?
> >>
> >> We are not really fixing anything, because it was never expected to
> >> work
> >> before. We are adding new functionality. It is, of course, a
> >> borderline case. But for example, do we have any information about
> >> whether what is being implemented actually works? I don't want to
> >> find
> >> out in two weeks, that yes, we managed to compile with thread support,
> >> but no, threaded applications still have issues on that platform.
> >
> > I assume threads are supposed to work on all platforms that support it.
> > We have new threading detection code in 8.0 so I expected some
> > adjustments. Also, someone pointed out that the problem was reported
> > during beta but I missed it.
> >
> > As far as testing we have to have the users do any testing. The thread
> > testing script already tests threading but the actual compile success
> > is
> > what we are adjusting now.
>
> And that failure was, as I understand it, to accommodate using
> /usr/bin/cc because as I mentioned in my port report on an AIX 5.1
> system, /usr/bin/cc_r already works as-is.
>
> I believe that cc_r just adds -DTHREAD_SAFETY, adds -lpthead, sets a
> LIBPATH such that /usr/lib/threads preceeds /usr/lib/ so you pick up a
> thread-safe libc.a (which you don't even necessarily need unless you
> are assuming some libc functions are thread-safe -- if you are doing
> higher-level sync yourself, then that might not even be necessary), and
> cc_r does whatever other default defines, etc are best for a safe
> multithreaded compilation. As I recall, it used to just be a
> shell-script wrapper in AIX 4 days.
>
> Now, on my AIX 5.1 system, /usr/bin/ cc and cc_r are both just symlinks
> back to /usr/vac/bin/xlc. The different program names just invoke the
> different settings. Brad: can you make such a symlink and compile
> with that?, for example:
> /home/u/brad/cc_r -> /usr/bin/xlc
> ./configure CC=/home/u/brad/cc_r ....
>
> Certainly, pthreads do generally work on AIX. I've been using them for
> years. However, I always use cc_r (or xlC_r) for multithreaded apps.
> Peter has a point that the patch makes it compile, but does it make all
> necessary adjustments such that everything will always work? I can't
> answer that.
>
> -Travis
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073


From: Christopher Browne <cbbrowne(at)acm(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-15 06:01:31
Message-ID: m3vfb43xs4.fsf@knuth.knuth.cbbrowne.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Centuries ago, Nostradamus foresaw when twp(at)castle(dot)fastmail(dot)fm (Travis P) would write:
> Now, on my AIX 5.1 system, /usr/bin/ cc and cc_r are both just
> symlinks back to /usr/vac/bin/xlc. The different program names just
> invoke the different settings. Brad: can you make such a symlink and
> compile with that?, for example:
> /home/u/brad/cc_r -> /usr/bin/xlc
> ./configure CC=/home/u/brad/cc_r ....

That would require that xlc be installed. Neither cc, cc_r, xlc, nor
xlcc (or maybe it was xlcpp?) are available on the systems Brad and I
are using, so that symlink will not work.

As a result, _none_ of these may be remotely considered to be
"universal answers" on AIX.

In effect, there are two models for compiling PostgreSQL on AIX:

a) Using the VisualAge C family of compilers, that get named xlc, cc,
and cc_r, and

b) Using GCC, which means the compiler is called "gcc," and which
means that xlc, cc, and cc_r should not be considered as
candidates for command lines.

Introducing threading doesn't somehow make "cc_r" available for those
of us using GCC.
--
(reverse (concatenate 'string "gro.gultn" "@" "enworbbc"))
http://www3.sympatico.ca/cbbrowne/unix.html
"No, I'm not interested in developing a powerful brain. All I'm after
is just a mediocre brain, something like the president of American
Telephone and Telegraph Company." -- Alan Turing on the possibilities
of a thinking machine, 1943.


From: Christopher Browne <cbbrowne(at)acm(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: V8.0rc1 On AIX.
Date: 2004-12-15 21:27:44
Message-ID: 32boigF3ksqn3U1@individual.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

That would require that xlc be installed. Neither cc, cc_r, xlc, nor
xlcc (or maybe it was xlcpp?) are available on the systems Brad and I
are using, so that symlink will not work.

As a result, _none_ of these may be remotely considered to be
"universal answers" on AIX.

In effect, there are two models for compiling PostgreSQL on AIX:

a) Using the VisualAge C family of compilers, that get named xlc, cc,
and cc_r, and

b) Using GCC, which means the compiler is called "gcc," and which
means that xlc, cc, and cc_r should not be considered as
candidates for command lines.

Introducing threading doesn't somehow make "cc_r" available for those
of us using GCC.
--
(reverse (concatenate 'string "gro.gultn" "@" "enworbbc"))
http://www3.sympatico.ca/cbbrowne/unix.html
"No, I'm not interested in developing a powerful brain. All I'm after
is just a mediocre brain, something like the president of American
Telephone and Telegraph Company." -- Alan Turing on the possibilities
of a thinking machine, 1943.