Re: Misaligned BufferDescriptors causing major performance problems on AMD

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Greg Stark <stark(at)mit(dot)edu>, Peter Geoghegan <pg(at)heroku(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Misaligned BufferDescriptors causing major performance problems on AMD
Date: 2014-04-16 23:18:02
Message-ID: 20140416231802.GP7443@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 6, 2014 at 09:40:32AM +0100, Andres Freund wrote:
> On 2014-02-05 12:36:42 -0500, Robert Haas wrote:
> > >> It may well be that your proposal is spot on. But I'd like to see some
> > >> data-structure-by-data-structure measurements, rather than assuming that
> > >> alignment must be a good thing.
> > >
> > > I am fine with just aligning BufferDescriptors properly. That has
> > > clearly shown massive improvements.
> >
> > I thought your previous idea of increasing BUFFERALIGN to 64 bytes had
> > a lot to recommend it.
>
> Good.
>
> I wonder if we shouldn't move that bit of logic:
> if (size >= BUFSIZ)
> newStart = BUFFERALIGN(newStart);
> out of ShmemAlloc() and instead have a ShmemAllocAligned() and
> ShmemInitStructAligned() that does it. So we can sensibly can control it
> per struct.
>
> > But that doesn't mean it doesn't need testing.
>
> I feel the need here, to say that I never said it doesn't need testing
> and never thought it didn't...

Where are we on this?

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ Everyone has their own god. +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-04-16 23:19:44 Re: assertion failure 9.3.4
Previous Message Bruce Momjian 2014-04-16 23:08:16 Re: test script, was Re: [COMMITTERS] pgsql: psql: conditionally display oids and replication identity