[COMMITTERS] pgsql: Reorganize our CRC source files again.

2015-04-14 Thread Heikki Linnakangas
Reorganize our CRC source files again. Now that we use CRC-32C in WAL and the control file, the "traditional" and "legacy" CRC-32 variants are not used in any frontend programs anymore. Move the code for those back from src/common to src/backend/utils/hash. Also move the slicing-by-8 implementati

[COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.

2015-04-14 Thread Heikki Linnakangas
Use Intel SSE 4.2 CRC instructions where available. Modern x86 and x86-64 processors with SSE 4.2 support have special instructions, crc32b and crc32q, for calculating CRC-32C. They greatly speed up CRC calculation. Whether the instructions can be used or not depends on the compiler and the targe

Re: [COMMITTERS] pgsql: Don't archive bogus recycled or preallocated files after timelin

2015-04-14 Thread Tom Lane
Heikki Linnakangas writes: > On 04/14/2015 02:24 AM, Tom Lane wrote: >> Wait a minute. Didn't you just break PITR scenarios? The *entire point* >> of the multiple-timeline mechanism is that you can start a new WAL history >> from a point in the past without destroying WAL history after that poin

Re: [COMMITTERS] pgsql: Don't archive bogus recycled or preallocated files after timelin

2015-04-14 Thread Heikki Linnakangas
On 04/14/2015 05:32 PM, Tom Lane wrote: Heikki Linnakangas writes: On 04/14/2015 02:24 AM, Tom Lane wrote: Wait a minute. Didn't you just break PITR scenarios? The *entire point* of the multiple-timeline mechanism is that you can start a new WAL history from a point in the past without destr

Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.

2015-04-14 Thread Simon Riggs
On 14 April 2015 at 10:09, Heikki Linnakangas wrote: > Abhijit Menon-Sen, heavily modified by me, reviewed by Andres Freund. Did the heavy modifications have any affect on the patch behaviour, or was this just related to where you would like to put the code? I know you like to rewrite things yo

[COMMITTERS] pgsql: Fix typo in comment

2015-04-14 Thread Alvaro Herrera
Fix typo in comment SLRU_SEGMENTS_PER_PAGE -> SLRU_PAGES_PER_SEGMENT I introduced this ancient typo in subtrans.c and later propagated it to multixact.c. I fixed the latter in f741300c, but only back to 9.3; backpatch to all supported branches for consistency. Branch -- master Details

[COMMITTERS] pgsql: Fix typo in comment

2015-04-14 Thread Alvaro Herrera
Fix typo in comment SLRU_SEGMENTS_PER_PAGE -> SLRU_PAGES_PER_SEGMENT I introduced this ancient typo in subtrans.c and later propagated it to multixact.c. I fixed the latter in f741300c, but only back to 9.3; backpatch to all supported branches for consistency. Branch -- REL9_0_STABLE Detai

[COMMITTERS] pgsql: Fix typo in comment

2015-04-14 Thread Alvaro Herrera
Fix typo in comment SLRU_SEGMENTS_PER_PAGE -> SLRU_PAGES_PER_SEGMENT I introduced this ancient typo in subtrans.c and later propagated it to multixact.c. I fixed the latter in f741300c, but only back to 9.3; backpatch to all supported branches for consistency. Branch -- REL9_1_STABLE Detai

[COMMITTERS] pgsql: Fix typo in comment

2015-04-14 Thread Alvaro Herrera
Fix typo in comment SLRU_SEGMENTS_PER_PAGE -> SLRU_PAGES_PER_SEGMENT I introduced this ancient typo in subtrans.c and later propagated it to multixact.c. I fixed the latter in f741300c, but only back to 9.3; backpatch to all supported branches for consistency. Branch -- REL9_2_STABLE Detai

[COMMITTERS] pgsql: Fix typo in comment

2015-04-14 Thread Alvaro Herrera
Fix typo in comment SLRU_SEGMENTS_PER_PAGE -> SLRU_PAGES_PER_SEGMENT I introduced this ancient typo in subtrans.c and later propagated it to multixact.c. I fixed the latter in f741300c, but only back to 9.3; backpatch to all supported branches for consistency. Branch -- REL9_3_STABLE Detai

[COMMITTERS] pgsql: Fix typo in comment

2015-04-14 Thread Alvaro Herrera
Fix typo in comment SLRU_SEGMENTS_PER_PAGE -> SLRU_PAGES_PER_SEGMENT I introduced this ancient typo in subtrans.c and later propagated it to multixact.c. I fixed the latter in f741300c, but only back to 9.3; backpatch to all supported branches for consistency. Branch -- REL9_4_STABLE Detai

Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.

2015-04-14 Thread Tom Lane
Heikki Linnakangas writes: > Whether the instructions can be used or not depends on the compiler and the > target architecture. If generation of SSE 4.2 instructions is allowed for > the target (-msse4.2 flag on gcc and clang), use them. If they are not > allowed by default, but the compiler suppo

[COMMITTERS] pgsql: Try to fix the CRC-32C autoconf magic for icc compiler.

2015-04-14 Thread Heikki Linnakangas
Try to fix the CRC-32C autoconf magic for icc compiler. On gcc and clang, the _mm_crc32_u8 and _mm_crc32_u64 intrinsics are not defined at all, when not building with -msse4.2. But on icc, they are. So we cannot assume that if those intrinsics are defined, we can always use them safely, we might s

[COMMITTERS] pgsql: Oops, fix misspelled #endif

2015-04-14 Thread Heikki Linnakangas
Oops, fix misspelled #endif I hope this fixes the Windows builfarm failures. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/b73e7a0716264e5159947b1a755b9ab864142489 Modified Files -- src/include/pg_config.h.win32 |2 +- 1 file changed, 1 insertion(+)

[COMMITTERS] pgsql: Optimize pg_comp_crc32c_sse42 routine slightly, and also use it

2015-04-14 Thread Heikki Linnakangas
Optimize pg_comp_crc32c_sse42 routine slightly, and also use it on x86. Eliminate the separate 'len' variable from the loops, and also use the 4 byte instruction. This shaves off a few more cycles. Even though this routine that uses the special SSE 4.2 instructions is much faster than a generic ro

[COMMITTERS] pgsql: Move pg_upgrade from contrib/ to src/bin/

2015-04-14 Thread Peter Eisentraut
Move pg_upgrade from contrib/ to src/bin/ Reviewed-by: Michael Paquier Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/9fa8b0ee90c44c0f97d16bf65e94322988c94864 Modified Files -- contrib/Makefile |1 - contrib/pg_upgrade/.gitignore

[COMMITTERS] pgsql: Integrate pg_upgrade_support module into backend

2015-04-14 Thread Peter Eisentraut
Integrate pg_upgrade_support module into backend Previously, these functions were created in a schema "binary_upgrade", which was deleted after pg_upgrade was finished. Because we don't want to keep that schema around permanently, move them to pg_catalog but rename them with a binary_upgrade_...

Re: [COMMITTERS] pgsql: Mark the second argument of pg_log as the translatable string in

2015-04-14 Thread Fujii Masao
On Tue, Apr 14, 2015 at 2:17 AM, Alvaro Herrera wrote: > Michael Paquier wrote: >> On Sun, Apr 12, 2015 at 10:17 AM, Alvaro Herrera wrote: >> > What pg_basebackup's progress_report() does is have the message in the >> > translatable part not include the \r; the \r is in a separate fprintf() >> > c