Re: Enabling Checksums

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Ants Aasma <ants(at)cybertec(dot)at>
Cc: Jeff Davis <pgsql(at)j-davis(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Greg Smith <greg(at)2ndquadrant(dot)com>, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Enabling Checksums
Date: 2013-04-09 07:03:59
Message-ID: CA+U5nML8JYeGqM-k4eEwNJi5H=U57oPLBsBDoZUv4cfcmdnpUA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 9 April 2013 03:35, Ants Aasma <ants(at)cybertec(dot)at> wrote:

> On Fri, Apr 5, 2013 at 9:39 PM, Ants Aasma <ants(at)cybertec(dot)at> wrote:
> > Unless somebody tells me not to waste my time I'll go ahead and come
> > up with a workable patch by Monday.
>
> And here you go. I decided to be verbose with the comments as it's
> easier to delete a comment to write one. I also left in a huge jumble
> of macros to calculate the contents of a helper var during compile
> time. This can easily be replaced with the calculated values once we
> settle on specific parameters.
>

Thanks. Would you mind reworking the patch so that you aren't removing the
existing code, only IFDEFing it out of the way. I'd like to make it as easy
as possible to skip your implementation for both us and the use of the
code, and/or add another implementation also.

> Currently only x86-64 is implemented. 32bit x86 would be mostly a
> copy-and-paste job, replacing 64bit pointer registers with 32bit ones.
> For other platforms the simplest way would be to use a vectorizing
> compiler on the generic variant. -funroll-loops -ftree-vectorize is
> enough on gcc.
>
> Quick bench results on the worst case workload:
> master no checksums: tps = 15.561848
> master with checksums: tps = 1.695450
> simd checksums: tps = 14.602698

Could you also re-summarise everything you've said so far on this? I want
to make sure this has everyone's attention, knowledge and consent before we
consider applying. We would also need most of that in a README to ensure we
don't forget.

--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2013-04-09 07:07:03 Re: Page replacement algorithm in buffer cache
Previous Message Samrat Revagade 2013-04-09 06:42:54 Re: Inconsistent DB data in Streaming Replication