Re: Direct I/O

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org>, Christoph Berg <myon(at)debian(dot)org>, mikael(dot)kjellstrom(at)gmail(dot)com, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Direct I/O
Date: 2023-04-14 19:33:39
Message-ID: 20230414193339.lznrnkmbip6ndlmp@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2023-04-14 15:21:18 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > On 2023-04-14 13:21:33 -0400, Tom Lane wrote:
> >> ... I'm not sure why only those two animals
> >> are unhappy, but I think they have a point: typical ABIs don't
> >> guarantee alignment of function stack frames to better than
> >> 16 bytes or so. In principle the compiler could support a 4K
> >> alignment request anyway by doing the equivalent of alloca(3),
> >> but I do not think we can count on that to happen.
>
> > Hm. New-ish compilers seem to be ok with it.
>
> Oh! I was misled by the buildfarm label on morepork, which claims
> it's running clang 10.0.1. But actually, per its configure report,
> it's running
>
> configure: using compiler=gcc (GCC) 4.2.1 20070719

Huh. I wonder if that was an accident in the BF setup.

> > Perhaps we should have a
> > configure check whether the compiler is OK with that, and disable direct IO
> > support if not?
>
> +1 for that, though. (Also, the fact that these animals aren't
> actually failing suggests that 004_io_direct.pl needs expansion.)

It's skipped, due to lack of O_DIRECT:
[20:50:22] t/004_io_direct.pl .............. skipped: no O_DIRECT

So perhaps we don't even need a configure test, just a bit of ifdef'ery? It's
a bit annoying structurally, because the PG*Aligned structs are defined in
c.h, but the different ways of spelling O_DIRECT are dealt with in fd.h.

I wonder if we should try to move those structs to fd.h as well...

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2023-04-14 19:37:49 Re: Temporary tables versus wraparound... again
Previous Message Tom Lane 2023-04-14 19:21:18 Re: Direct I/O