Re: BUG #19368: f54af9f does not create the correct macro for autotools build

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: evsi(at)amazon(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: BUG #19368: f54af9f does not create the correct macro for autotools build
Date: 2025-12-31 15:59:32
Message-ID: 3917069.1767196772@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)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.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bernice Southey 2025-12-31 16:16:15 Re: BUG #19355: Attempt to insert data unexpectedly during concurrent update
Previous Message PG Bug reporting form 2025-12-31 00:25:09 BUG #19368: f54af9f does not create the correct macro for autotools build