[PATCH] Add native windows on arm64 support

Started by Niyas Saitabout 4 years ago167 messages
Jump to latest
#1Niyas Sait
niyas.sait@linaro.org

Hello,

I have created a patch that adds support for building Postgres for the
windows/arm64 platform using the MSVC toolchain. Following changes have
been included

1. Extend MSVC scripts to handle ARM64 platform.
2. Add arm64 definition of spin_delay function.
3. Exclude arm_acle.h import with MSVC compiler.

Compilation steps are consistent and similar to other windows platforms.

The change has been tested on windows/x86_64 and windows/arm64 and all
regression tests passes on both platforms.

Thanks,
Niyas

Attachments:

enable-native-windows-arm64-build.patchapplication/octet-stream; name=enable-native-windows-arm64-build.patchDownload+40-17
#2Thomas Munro
thomas.munro@gmail.com
In reply to: Niyas Sait (#1)
Re: [PATCH] Add native windows on arm64 support

On Wed, Feb 23, 2022 at 11:09 PM Niyas Sait <niyas.sait@linaro.org> wrote:

I have created a patch that adds support for building Postgres for the windows/arm64 platform using the MSVC toolchain. Following changes have been included

1. Extend MSVC scripts to handle ARM64 platform.
2. Add arm64 definition of spin_delay function.
3. Exclude arm_acle.h import with MSVC compiler.

Compilation steps are consistent and similar to other windows platforms.

The change has been tested on windows/x86_64 and windows/arm64 and all regression tests passes on both platforms.

+    # arm64 linker only supports dynamic base address
+    my $cfgrandbaseaddress = $self->{platform} eq 'ARM64' ? 'true' : 'false';
...
+      <RandomizedBaseAddress>$cfgrandbaseaddress</RandomizedBaseAddress>

Does that mean that you can't turn off ASLR on this arch? Does it
cause random backend failures due to inability to map shared memory at
the expected address? Our experience with EXEC_BACKEND on various
Unix systems tells us that you have to turn off ASLR if you want 100%
success rate on starting backends, but I guess it depends on the
details of how the randomisation is done.

Any interest in providing a build farm animal, so that we could know
that this works?

#3Niyas Sait
niyas.sait@linaro.org
In reply to: Thomas Munro (#2)
Re: [PATCH] Add native windows on arm64 support

Thanks, Thomas for reviewing the patch!

Yes, we cannot turn off ASLR for Arm64 targets with MSVC. I haven't seen
any issues so far on win/arm64 with this option turned off. I guess it
should be okay. If we really need ASLR turned off, then I guess might have
to use clang.

Yes, we could look into providing a build machine. Do you have any
reference to what the CI system looks like now for PostgresSQL and how to
add new workers etc.?

Niyas

On Fri, 18 Mar 2022 at 20:50, Thomas Munro <thomas.munro@gmail.com> wrote:

Show quoted text

On Wed, Feb 23, 2022 at 11:09 PM Niyas Sait <niyas.sait@linaro.org> wrote:

I have created a patch that adds support for building Postgres for the

windows/arm64 platform using the MSVC toolchain. Following changes have
been included

1. Extend MSVC scripts to handle ARM64 platform.
2. Add arm64 definition of spin_delay function.
3. Exclude arm_acle.h import with MSVC compiler.

Compilation steps are consistent and similar to other windows platforms.

The change has been tested on windows/x86_64 and windows/arm64 and all

regression tests passes on both platforms.

+    # arm64 linker only supports dynamic base address
+    my $cfgrandbaseaddress = $self->{platform} eq 'ARM64' ? 'true' :
'false';
...
+      <RandomizedBaseAddress>$cfgrandbaseaddress</RandomizedBaseAddress>

Does that mean that you can't turn off ASLR on this arch? Does it
cause random backend failures due to inability to map shared memory at
the expected address? Our experience with EXEC_BACKEND on various
Unix systems tells us that you have to turn off ASLR if you want 100%
success rate on starting backends, but I guess it depends on the
details of how the randomisation is done.

Any interest in providing a build farm animal, so that we could know
that this works?

#4Julien Rouhaud
rjuju123@gmail.com
In reply to: Niyas Sait (#3)
Re: [PATCH] Add native windows on arm64 support

Hi,

Please don't top-post here. See
https://wiki.postgresql.org/wiki/Mailing_Lists#Email_etiquette_mechanics.

On Tue, Mar 22, 2022 at 09:37:46AM +0000, Niyas Sait wrote:

Yes, we could look into providing a build machine. Do you have any
reference to what the CI system looks like now for PostgresSQL and how to
add new workers etc.?

It's all documented at
https://wiki.postgresql.org/wiki/PostgreSQL_Buildfarm_Howto.

#5Thomas Munro
thomas.munro@gmail.com
In reply to: Julien Rouhaud (#4)
Re: [PATCH] Add native windows on arm64 support

On Tue, Mar 22, 2022 at 11:30 PM Julien Rouhaud <rjuju123@gmail.com> wrote:

On Tue, Mar 22, 2022 at 09:37:46AM +0000, Niyas Sait wrote:

Yes, we could look into providing a build machine. Do you have any
reference to what the CI system looks like now for PostgresSQL and how to
add new workers etc.?

It's all documented at
https://wiki.postgresql.org/wiki/PostgreSQL_Buildfarm_Howto.

It seems likely there will be more and more Windows/ARM users, so yeah
having a machine to test that combination would be great. I wonder if
ASLR isn't breaking for you by good luck only...

#6Andres Freund
andres@anarazel.de
In reply to: Thomas Munro (#5)
Re: [PATCH] Add native windows on arm64 support

Hi,

On 2022-03-23 16:30:58 +1300, Thomas Munro wrote:

On Tue, Mar 22, 2022 at 11:30 PM Julien Rouhaud <rjuju123@gmail.com> wrote:

On Tue, Mar 22, 2022 at 09:37:46AM +0000, Niyas Sait wrote:

Yes, we could look into providing a build machine. Do you have any
reference to what the CI system looks like now for PostgresSQL and how to
add new workers etc.?

It's all documented at
https://wiki.postgresql.org/wiki/PostgreSQL_Buildfarm_Howto.

It seems likely there will be more and more Windows/ARM users, so yeah
having a machine to test that combination would be great. I wonder if
ASLR isn't breaking for you by good luck only...

I think we've generally seen the ASLR issue become less prominent on
windows. Whether that's because of the silent retries we added, or because
just about everyone moved to 64bit windows / PG, I don't know. I'd guess both,
with 64bit being the larger influence.

Wonder if it's worth adding some debug logging to the retry code and stop
disabling ASLR on 64bit windows... It's imo pretty crazy that we loop up to
100 times in internal_forkexec() around CreateProcess() &&
pgwin32_ReserveSharedMemoryRegion() without, as far as I can see, a single
debug message.

I don't think we can infer too much about the failure rate on windows from the
!windows EXEC_BACKEND rates. The two internal_forkexec() implementations
behaves just too differently.

Greetings,

Andres Freund

#7Thomas Munro
thomas.munro@gmail.com
In reply to: Andres Freund (#6)
Re: [PATCH] Add native windows on arm64 support

On Thu, Mar 24, 2022 at 2:15 PM Andres Freund <andres@anarazel.de> wrote:

I think we've generally seen the ASLR issue become less prominent on
windows. Whether that's because of the silent retries we added, or because
just about everyone moved to 64bit windows / PG, I don't know. I'd guess both,
with 64bit being the larger influence.

Wonder if it's worth adding some debug logging to the retry code and stop
disabling ASLR on 64bit windows... It's imo pretty crazy that we loop up to
100 times in internal_forkexec() around CreateProcess() &&
pgwin32_ReserveSharedMemoryRegion() without, as far as I can see, a single
debug message.

Yeah. I think we should commit this patch, but decree that
Windows/aarch64 support is experimental only for now. That allows a
build farm animal to be set up. Then we add a bit of extra logging
and see how it does running our test suite over time and learn more.

#8Michael Paquier
michael@paquier.xyz
In reply to: Thomas Munro (#7)
Re: [PATCH] Add native windows on arm64 support

On Fri, Mar 25, 2022 at 11:38:44AM +1300, Thomas Munro wrote:

Yeah. I think we should commit this patch, but decree that
Windows/aarch64 support is experimental only for now. That allows a
build farm animal to be set up. Then we add a bit of extra logging
and see how it does running our test suite over time and learn more.

I don't have such a setup so my testing capabilities are limited.
Does anybody have one? I think that we could be flexible for this
patch, even after feature freeze as it introduces something entirely
new without impacting the existing code. The patch has been moved to
the next CF for now.
--
Michael

#9Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#8)
Re: [PATCH] Add native windows on arm64 support

Michael Paquier <michael@paquier.xyz> writes:

On Fri, Mar 25, 2022 at 11:38:44AM +1300, Thomas Munro wrote:

Yeah. I think we should commit this patch, but decree that
Windows/aarch64 support is experimental only for now. That allows a
build farm animal to be set up. Then we add a bit of extra logging
and see how it does running our test suite over time and learn more.

I don't have such a setup so my testing capabilities are limited.
Does anybody have one? I think that we could be flexible for this
patch, even after feature freeze as it introduces something entirely
new without impacting the existing code. The patch has been moved to
the next CF for now.

I dunno, the lack of any in-house capability for this makes me very
nervous. If it causes problems down the road, how will we debug it?
So it seems like the sort of patch to put in at the beginning of a
development cycle, not post-feature-freeze.

regards, tom lane

#10Daniel Gustafsson
daniel@yesql.se
In reply to: Tom Lane (#9)
Re: [PATCH] Add native windows on arm64 support

On 7 Apr 2022, at 15:40, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Michael Paquier <michael@paquier.xyz> writes:

On Fri, Mar 25, 2022 at 11:38:44AM +1300, Thomas Munro wrote:

Yeah. I think we should commit this patch, but decree that
Windows/aarch64 support is experimental only for now. That allows a
build farm animal to be set up. Then we add a bit of extra logging
and see how it does running our test suite over time and learn more.

I don't have such a setup so my testing capabilities are limited.
Does anybody have one? I think that we could be flexible for this
patch, even after feature freeze as it introduces something entirely
new without impacting the existing code. The patch has been moved to
the next CF for now.

I dunno, the lack of any in-house capability for this makes me very
nervous. If it causes problems down the road, how will we debug it?

If those with an interest in such platform support cannot spare the cycles to
at least run a buildfarm member, then it seems a stretch for us to maintain
such support with any confidence.

So it seems like the sort of patch to put in at the beginning of a
development cycle, not post-feature-freeze.

+1

--
Daniel Gustafsson https://vmware.com/

#11Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#9)
Re: [PATCH] Add native windows on arm64 support

Hi,

On 2022-04-07 09:40:43 -0400, Tom Lane wrote:

If it causes problems down the road, how will we debug it?

If what causes problems down the road? Afaics the patch doesn't change
anything outside of windows-on-arm, so it shouldn't cause any breakage we care
about until we get a buildfarm animal.

We've traditionally been somewhat relaxed about adding support for new
platforms, on similar notions. That said:

So it seems like the sort of patch to put in at the beginning of a
development cycle, not post-feature-freeze.

There doesn't seem to be a great urgency, and there's plenty stuff going on
right now. I can see us merging it post branching off, and then backpatching
it a bit later?

Greetings,

Andres Freund

#12Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#11)
Re: [PATCH] Add native windows on arm64 support

Andres Freund <andres@anarazel.de> writes:

On 2022-04-07 09:40:43 -0400, Tom Lane wrote:

If it causes problems down the road, how will we debug it?

If what causes problems down the road? Afaics the patch doesn't change
anything outside of windows-on-arm, so it shouldn't cause any breakage we care
about until we get a buildfarm animal.

Do we have a volunteer to run a buildfarm animal? I don't see much
point in thinking about this till there is one ready to go.

regards, tom lane

#13Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#12)
Re: [PATCH] Add native windows on arm64 support

Hi,

On 2022-04-07 13:42:49 -0400, Tom Lane wrote:

Andres Freund <andres@anarazel.de> writes:

On 2022-04-07 09:40:43 -0400, Tom Lane wrote:

If it causes problems down the road, how will we debug it?

If what causes problems down the road? Afaics the patch doesn't change
anything outside of windows-on-arm, so it shouldn't cause any breakage we care
about until we get a buildfarm animal.

Do we have a volunteer to run a buildfarm animal? I don't see much
point in thinking about this till there is one ready to go.

OP said that they might be able to:
/messages/by-id/CAFPTBD_NZb=q_6uE-QV+S+pm=Rc9sBKrg8CQ_Y3dc27Awrm7cQ@mail.gmail.com

Niyas, any updates on that?

Greetings,

Andres Freund

#14Niyas Sait
niyas.sait@linaro.org
In reply to: Andres Freund (#13)
Re: [PATCH] Add native windows on arm64 support

Niyas, any updates on that?

Sorry for the delay! Configuring the scripts took some time. I have
successfully run the builfarm animal script using my git repository [1]https://github.com/nsait-linaro/postgres.git
which contains the proposed patch on a Windows Arm64 machine.

I made a request to add a new machine to build farm through [2]https://buildfarm.postgresql.org/cgi-bin/register-form.pl.

I believe we should be able to enable the build farm machine once the
change has been merged.

Thanks,
Niyas

[1]: https://github.com/nsait-linaro/postgres.git
[2]: https://buildfarm.postgresql.org/cgi-bin/register-form.pl

On Thu, 7 Apr 2022 at 18:54, Andres Freund <andres@anarazel.de> wrote:

Show quoted text

Hi,

On 2022-04-07 13:42:49 -0400, Tom Lane wrote:

Andres Freund <andres@anarazel.de> writes:

On 2022-04-07 09:40:43 -0400, Tom Lane wrote:

If it causes problems down the road, how will we debug it?

If what causes problems down the road? Afaics the patch doesn't change
anything outside of windows-on-arm, so it shouldn't cause any breakage

we care

about until we get a buildfarm animal.

Do we have a volunteer to run a buildfarm animal? I don't see much
point in thinking about this till there is one ready to go.

OP said that they might be able to:

/messages/by-id/CAFPTBD_NZb=q_6uE-QV+S+pm=Rc9sBKrg8CQ_Y3dc27Awrm7cQ@mail.gmail.com

Niyas, any updates on that?

Greetings,

Andres Freund

#15Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#14)
Re: [PATCH] Add native windows on arm64 support

On Tue, Apr 19, 2022 at 03:22:30PM +0100, Niyas Sait wrote:

Sorry for the delay! Configuring the scripts took some time. I have
successfully run the builfarm animal script using my git repository [1]
which contains the proposed patch on a Windows Arm64 machine.

I made a request to add a new machine to build farm through [2].

Have you tested with the amount of coverage provided by vcregress.pl?

Another thing I was wondering about is if it would be possible to have
this option in Travis, but that does not seem to be the case:
https://docs.travis-ci.com/user/reference/windows/#windows-version

I believe we should be able to enable the build farm machine once the
change has been merged.

Better to wait for the beginning of the development cycle at this
stage, based on all the replies received. That would bring us to the
beginning of July.

+               if ($solution->{platform} eq 'ARM64') {
+                       push(@pgportfiles, 'pg_crc32c_armv8_choose.c');
+                       push(@pgportfiles, 'pg_crc32c_armv8.c');
+               } else {
+                       push(@pgportfiles, 'pg_crc32c_sse42_choose.c');
+                       push(@pgportfiles, 'pg_crc32c_sse42.c');
+               }
+++ b/src/port/pg_crc32c_armv8.c
+#ifndef _MSC_VER
 #include <arm_acle.h>
+#endif
[ ... ]
+#ifdef _M_ARM64
+   /*
+    * arm64 way of hinting processor for spin loops optimisations
+    * ref: https://community.arm.com/support-forums/f/infrastructure-solutions-forum/48654/ssetoneon-faq
+    */
+   __isb(_ARM64_BARRIER_SY);
+#else
I think that such extra optimizations had better be in a separate
patch, and we should focus on getting the build done first.
+   # arm64 linker only supports dynamic base address
+   my $cfgrandbaseaddress = $self->{platform} eq 'ARM64' ? 'true' : 'false';
This issue is still lying around, and you may have been lucky.  Would
there be any issues to remove this change to get a basic support in?
As mentioned upthread, there is a long history of Postgres with ASLR.

This would mean that a basic patch could be done with just the changes
for gendef.pl, and the first part of the changes inMSBuildProject.pm.
Would that not be enough?
--
Michael

#16Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#15)
Re: [PATCH] Add native windows on arm64 support

Have you tested with the amount of coverage provided by vcregress.pl?

I built and ran the relevant tests with the help of run_build.pl.

I think following tests are executed - check, contribcheck, ecpgcheck,
installcheck, isolationcheck, modulescheck, and upgradecheck.

Another thing I was wondering about is if it would be possible to have
this option in Travis, but that does not seem to be the case:
https://docs.travis-ci.com/user/reference/windows/#windows-version

Yes, I think Travis doesn't yet support Windows/Arm64 platform.

+               if ($solution->{platform} eq 'ARM64') {
+                       push(@pgportfiles, 'pg_crc32c_armv8_choose.c');
+                       push(@pgportfiles, 'pg_crc32c_armv8.c');
+               } else {
+                       push(@pgportfiles, 'pg_crc32c_sse42_choose.c');
+                       push(@pgportfiles, 'pg_crc32c_sse42.c');
+               }
+++ b/src/port/pg_crc32c_armv8.c
+#ifndef _MSC_VER
#include <arm_acle.h>
+#endif
[ ... ]
+#ifdef _M_ARM64
+   /*
+    * arm64 way of hinting processor for spin loops optimisations
+    * ref:

https://community.arm.com/support-forums/f/infrastructure-solutions-forum/48654/ssetoneon-faq

+    */
+   __isb(_ARM64_BARRIER_SY);
+#else
I think that such extra optimizations had better be in a separate
patch, and we should focus on getting the build done first.

This would mean that a basic patch could be done with just the changes
for gendef.pl, and the first part of the changes inMSBuildProject.pm.
Would that not be enough?

I cannot build without any of the above changes. Nothing specific for
optimization
is added to this patch.

+   # arm64 linker only supports dynamic base address
+   my $cfgrandbaseaddress = $self->{platform} eq 'ARM64' ? 'true' :

'false';

This issue is still lying around, and you may have been lucky. Would
there be any issues to remove this change to get a basic support in?
As mentioned upthread, there is a long history of Postgres with ASLR.

MSVC linker doesn't allow non-random base addresses for Arm64 platforms.
It is needed for basic support.

Niyas

#17Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#16)
Re: [PATCH] Add native windows on arm64 support

On Wed, Apr 20, 2022 at 10:43:06AM +0100, Niyas Sait wrote:

This issue is still lying around, and you may have been lucky. Would
there be any issues to remove this change to get a basic support in?
As mentioned upthread, there is a long history of Postgres with ASLR.

MSVC linker doesn't allow non-random base addresses for Arm64 platforms.
It is needed for basic support.

Why does it not allow that? Is that just a limitation of the
compiler? If yes, what is the error happening? This question is not
exactly answered yet as of this thread. I may be missing a reference
about that in the upstream docs, but I see nowhere an explanation
about the reason and the why. That's also one of the first questions
from Thomas upthread.
--
Michael

#18Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#17)
Re: [PATCH] Add native windows on arm64 support

Why does it not allow that? Is that just a limitation of the
compiler? If yes, what is the error happening? This question is not
exactly answered yet as of this thread. I may be missing a reference
about that in the upstream docs, but I see nowhere an explanation
about the reason and the why. That's also one of the first questions
from Thomas upthread.

The following error occurs:

LINK : fatal error LNK1246: '/DYNAMICBASE:NO' not compatible with 'ARM64'
target machine; link without '/DYNAMICBASE:NO

This seems to be a deliberate restriction for Arm64 targets. However, no
references were provided. To clarify, I have posted a question [1]https://developercommunity.visualstudio.com/t/LINK-:-fatal-error-LNK1246:-DYNAMICBAS/10020163 on the
community channel of Visual Studio.

Niyas

[1]: https://developercommunity.visualstudio.com/t/LINK-:-fatal-error-LNK1246:-DYNAMICBAS/10020163
https://developercommunity.visualstudio.com/t/LINK-:-fatal-error-LNK1246:-DYNAMICBAS/10020163

On Thu, 21 Apr 2022 at 05:07, Michael Paquier <michael@paquier.xyz> wrote:

Show quoted text

On Wed, Apr 20, 2022 at 10:43:06AM +0100, Niyas Sait wrote:

This issue is still lying around, and you may have been lucky. Would
there be any issues to remove this change to get a basic support in?
As mentioned upthread, there is a long history of Postgres with ASLR.

MSVC linker doesn't allow non-random base addresses for Arm64 platforms.
It is needed for basic support.

Why does it not allow that? Is that just a limitation of the
compiler? If yes, what is the error happening? This question is not
exactly answered yet as of this thread. I may be missing a reference
about that in the upstream docs, but I see nowhere an explanation
about the reason and the why. That's also one of the first questions
from Thomas upthread.
--
Michael

#19Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#18)
Re: [PATCH] Add native windows on arm64 support

On Thu, Apr 21, 2022 at 10:21:04AM +0100, Niyas Sait wrote:

The following error occurs:

LINK : fatal error LNK1246: '/DYNAMICBASE:NO' not compatible with 'ARM64'
target machine; link without '/DYNAMICBASE:NO

Okay, that's interesting. In light of things like 7f3e17b, that may
be annoying. Perhaps newer Windows versions are able to handle that
better. I am wondering if it would be worth re-evaluating this
change, and attempt to re-enable that in environments other than
arm64. This could become interesting if we consider that there have
been talks to cut the support for a bunch of Windows versions to focus
on the newer ones only.

This seems to be a deliberate restriction for Arm64 targets. However, no
references were provided. To clarify, I have posted a question [1] on the
community channel of Visual Studio.

Thanks for doing that! Your post is just a couple of days old, let's
see if we get a reply on that.
--
Michael

#20Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#19)
Re: [PATCH] Add native windows on arm64 support

Thanks for doing that! Your post is just a couple of days old, let's
see if we get a reply on that.

Microsoft updated documentation [1]https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase?view=msvc-170 and clarified that ASLR cannot be
disabled for Arm64 targets.

Because ASLR can't be disabled on ARM, ARM64, or ARM64EC architectures,

/DYNAMICBASE:NO isn't supported for these targets.

Thanks
Niyas

[1]: https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase?view=msvc-170
https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase?view=msvc-170

On Mon, 25 Apr 2022 at 02:17, Michael Paquier <michael@paquier.xyz> wrote:

Show quoted text

On Thu, Apr 21, 2022 at 10:21:04AM +0100, Niyas Sait wrote:

The following error occurs:

LINK : fatal error LNK1246: '/DYNAMICBASE:NO' not compatible with 'ARM64'
target machine; link without '/DYNAMICBASE:NO

Okay, that's interesting. In light of things like 7f3e17b, that may
be annoying. Perhaps newer Windows versions are able to handle that
better. I am wondering if it would be worth re-evaluating this
change, and attempt to re-enable that in environments other than
arm64. This could become interesting if we consider that there have
been talks to cut the support for a bunch of Windows versions to focus
on the newer ones only.

This seems to be a deliberate restriction for Arm64 targets. However, no
references were provided. To clarify, I have posted a question [1] on the
community channel of Visual Studio.

Thanks for doing that! Your post is just a couple of days old, let's
see if we get a reply on that.
--
Michael

#21Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#20)
#22Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#21)
#23Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#21)
#24Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#23)
#25Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#24)
#26Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#25)
#27Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#26)
#28Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#26)
#29Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#28)
#30Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#29)
#31Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#30)
#32Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#31)
#33Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#32)
#34Michael Paquier
michael@paquier.xyz
In reply to: Michael Paquier (#33)
#35Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#34)
#36Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#34)
#37Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#35)
#38Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#37)
#39Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#38)
#40Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#39)
#41Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#40)
#42Michael Paquier
michael@paquier.xyz
In reply to: Michael Paquier (#40)
#43Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#41)
#44Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#42)
#45Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#44)
#46Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#45)
#47Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#46)
#48Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#47)
#49Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#48)
#50Ian Lawrence Barwick
barwick@gmail.com
In reply to: Michael Paquier (#49)
#51Niyas Sait
niyas.sait@linaro.org
In reply to: Ian Lawrence Barwick (#50)
#52Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#51)
#53Andres Freund
andres@anarazel.de
In reply to: Niyas Sait (#51)
#54Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#53)
#55Michael Paquier
michael@paquier.xyz
In reply to: Michael Paquier (#54)
#56Niyas Sait
niyas.sait@linaro.org
In reply to: Andres Freund (#53)
#57Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#54)
#58Niyas Sait
niyas.sait@linaro.org
In reply to: Niyas Sait (#57)
#59Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#58)
#60John Naylor
john.naylor@enterprisedb.com
In reply to: Niyas Sait (#57)
#61Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#59)
#62Niyas Sait
niyas.sait@linaro.org
In reply to: John Naylor (#60)
#63Niyas Sait
niyas.sait@linaro.org
In reply to: Niyas Sait (#58)
#64Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#63)
#65Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#64)
#66Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#64)
#67Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#66)
#68Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#67)
#69Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#68)
#70Niyas Sait
niyas.sait@linaro.org
In reply to: Andres Freund (#66)
#71Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#70)
#72Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#71)
#73Niyas Sait
niyas.sait@linaro.org
In reply to: Niyas Sait (#72)
#74Andres Freund
andres@anarazel.de
In reply to: Niyas Sait (#72)
#75Niyas Sait
niyas.sait@linaro.org
In reply to: Andres Freund (#74)
#76Niyas Sait
niyas.sait@linaro.org
In reply to: Niyas Sait (#75)
#77Michael Paquier
michael@paquier.xyz
In reply to: Niyas Sait (#76)
#78Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#77)
#79Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#78)
#80Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#78)
#81Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#80)
#82Andrew Dunstan
andrew@dunslane.net
In reply to: Tom Lane (#81)
#83Michael Paquier
michael@paquier.xyz
In reply to: Andrew Dunstan (#82)
#84Thomas Munro
thomas.munro@gmail.com
In reply to: Michael Paquier (#83)
#85Michael Paquier
michael@paquier.xyz
In reply to: Thomas Munro (#84)
#86Niyas Sait
niyas.sait@linaro.org
In reply to: Michael Paquier (#83)
#87Niyas Sait
niyas.sait@linaro.org
In reply to: Niyas Sait (#86)
#88Michael Paquier
michael@paquier.xyz
In reply to: Michael Paquier (#85)
#89Anthony Roberts
anthony.roberts@linaro.org
In reply to: Niyas Sait (#87)
#90Michael Paquier
michael@paquier.xyz
In reply to: Anthony Roberts (#89)
#91Anthony Roberts
anthony.roberts@linaro.org
In reply to: Michael Paquier (#90)
#92Michael Paquier
michael@paquier.xyz
In reply to: Anthony Roberts (#91)
#93Anthony Roberts
anthony.roberts@linaro.org
In reply to: Michael Paquier (#92)
#94Daniel Gustafsson
daniel@yesql.se
In reply to: Anthony Roberts (#91)
#95Anthony Roberts
anthony.roberts@linaro.org
In reply to: Anthony Roberts (#93)
#96Michael Paquier
michael@paquier.xyz
In reply to: Anthony Roberts (#95)
#97Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Paquier (#96)
#98Thomas Munro
thomas.munro@gmail.com
In reply to: Michael Paquier (#96)
#99Tom Lane
tgl@sss.pgh.pa.us
In reply to: Thomas Munro (#98)
#100Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#99)
#101Peter Eisentraut
peter_e@gmx.net
In reply to: Niyas Sait (#76)
#102Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#97)
#103Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#100)
#104Daniel Gustafsson
daniel@yesql.se
In reply to: Peter Eisentraut (#102)
#105Peter Eisentraut
peter_e@gmx.net
In reply to: Daniel Gustafsson (#104)
#106Anthony Roberts
anthony.roberts@linaro.org
In reply to: Peter Eisentraut (#105)
#107Michael Paquier
michael@paquier.xyz
In reply to: Anthony Roberts (#106)
#108Dave Cramer
pg@fastcrypt.com
In reply to: Michael Paquier (#107)
#109Dave Cramer
pg@fastcrypt.com
In reply to: Dave Cramer (#108)
#110Michael Paquier
michael@paquier.xyz
In reply to: Dave Cramer (#109)
#111Dave Cramer
pg@fastcrypt.com
In reply to: Michael Paquier (#110)
#112Michael Paquier
michael@paquier.xyz
In reply to: Dave Cramer (#111)
#113Dave Cramer
pg@fastcrypt.com
In reply to: Michael Paquier (#112)
#114Dave Cramer
pg@fastcrypt.com
In reply to: Dave Cramer (#113)
#115Andrew Dunstan
andrew@dunslane.net
In reply to: Michael Paquier (#112)
#116Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#115)
#117Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#114)
#118Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#117)
#119Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#115)
#120Anthony Roberts
anthony.roberts@linaro.org
In reply to: Dave Cramer (#119)
#121Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#118)
#122Dave Cramer
pg@fastcrypt.com
In reply to: Anthony Roberts (#120)
#123Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#122)
#124Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#123)
#125Michael Paquier
michael@paquier.xyz
In reply to: Dave Cramer (#124)
#126Andrew Dunstan
andrew@dunslane.net
In reply to: Michael Paquier (#125)
#127Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#126)
#128Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#127)
#129Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#127)
#130Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#129)
#131Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#130)
#132Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#131)
#133Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#132)
#134Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#133)
#135Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#134)
#136Peter Eisentraut
peter_e@gmx.net
In reply to: Andrew Dunstan (#135)
#137Andrew Dunstan
andrew@dunslane.net
In reply to: Peter Eisentraut (#136)
#138Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#135)
#139Michael Paquier
michael@paquier.xyz
In reply to: Dave Cramer (#138)
#140Dave Cramer
pg@fastcrypt.com
In reply to: Michael Paquier (#139)
#141Dave Cramer
pg@fastcrypt.com
In reply to: Dave Cramer (#140)
#142Andres Freund
andres@anarazel.de
In reply to: Dave Cramer (#141)
#143Dave Cramer
pg@fastcrypt.com
In reply to: Andres Freund (#142)
#144Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#141)
#145Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#144)
#146Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#145)
#147Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#146)
#148Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#147)
#149Dave Cramer
pg@fastcrypt.com
In reply to: Andrew Dunstan (#148)
#150Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#149)
#151Andres Freund
andres@anarazel.de
In reply to: Andrew Dunstan (#150)
#152Andres Freund
andres@anarazel.de
In reply to: Dave Cramer (#143)
#153Dave Cramer
pg@fastcrypt.com
In reply to: Andres Freund (#151)
#154Andres Freund
andres@anarazel.de
In reply to: Andres Freund (#151)
#155Thomas Munro
thomas.munro@gmail.com
In reply to: Andres Freund (#142)
#156Dave Cramer
pg@fastcrypt.com
In reply to: Andres Freund (#154)
#157Andres Freund
andres@anarazel.de
In reply to: Dave Cramer (#156)
#158Dave Cramer
pg@fastcrypt.com
In reply to: Andres Freund (#157)
#159Dave Cramer
pg@fastcrypt.com
In reply to: Dave Cramer (#158)
#160Dave Cramer
pg@fastcrypt.com
In reply to: Dave Cramer (#159)
#161Andres Freund
andres@anarazel.de
In reply to: Dave Cramer (#160)
#162Andrew Dunstan
andrew@dunslane.net
In reply to: Dave Cramer (#159)
#163Thomas Munro
thomas.munro@gmail.com
In reply to: Dave Cramer (#153)
#164Dave Cramer
pg@fastcrypt.com
In reply to: Thomas Munro (#163)
#165Dave Cramer
pg@fastcrypt.com
In reply to: Dave Cramer (#164)
#166Thomas Munro
thomas.munro@gmail.com
In reply to: Dave Cramer (#165)
#167Dave Cramer
pg@fastcrypt.com
In reply to: Thomas Munro (#166)