Re: BUG #19368: f54af9f does not create the correct macro for autotools build - Mailing list pgsql-bugs

From Masahiko Sawada
Subject Re: BUG #19368: f54af9f does not create the correct macro for autotools build
Date
Msg-id CAD21AoBpFg-gMByFf0bQMx8dhE9jG5s0u6r1_QcCJKs+fA+Xcw@mail.gmail.com
Whole thread Raw
In response to Re: BUG #19368: f54af9f does not create the correct macro for autotools build  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #19368: f54af9f does not create the correct macro for autotools build
List pgsql-bugs
On Wed, Dec 31, 2025 at 7:59 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> PG Bug reporting form <noreply@postgresql.org> writes:
> > The commit f54af9f2679d added a macro HAVE_LIBURING_QUEUE_INIT_MEM that is
> > checked to see if slowdown from memory mappings can be avoided when using
> > io_uring.
> > This HAVE_LIBURING_QUEUE_INIT_MEM is set by Meson build after checking
> > liburing.
> > However, the autotools build seems to set a different macro,
> > HAVE_IO_URING_QUEUE_INIT_MEM, which is never used.
>
> > This means when the server is built with autotools, the slowdown when using
> > io_uring can never be avoided.
>
> This is indeed busted, but I'd argue that the autoconf build has the
> right macro name and meson and the C code are using the wrong one:
>
>   if cc.has_function('io_uring_queue_init_mem',
>       dependencies: liburing, args: test_c_args)
>     cdata.set('HAVE_LIBURING_QUEUE_INIT_MEM', 1)
>   endif
>
> That's clearly not following the "HAVE_function" convention.

Agreed. The attached patch should fix the issue.

Regards,

--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com

Attachment

pgsql-bugs by date:

Previous
From: Bernice Southey
Date:
Subject: Re: BUG #19355: Attempt to insert data unexpectedly during concurrent update
Next
From: Tom Lane
Date:
Subject: Re: BUG #19368: f54af9f does not create the correct macro for autotools build