Re: postmaster uses more CPU in 18 beta1 with io_method=io_uring

From: Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com>
To: Tomas Vondra <tomas(at)vondra(dot)me>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Robert Treat <rob(at)xzilla(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Jim Nasby <jnasby(at)upgrade(dot)com>, "Burd, Greg" <greg(at)burd(dot)me>, MARK CALLAGHAN <mdcallag(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Nathan Bossart <nathandbossart(at)gmail(dot)com>
Subject: Re: postmaster uses more CPU in 18 beta1 with io_method=io_uring
Date: 2025-11-10 08:59:58
Message-ID: CAKZiRmzVZVDTuGZM+SL8h4HHFJ4=FhJZPi=Y4y3xBxxxuBMWRA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Nov 7, 2025 at 11:50 PM Tomas Vondra <tomas(at)vondra(dot)me> wrote:
> On 9/22/25 10:45, Jakub Wartak wrote:
>
> The v2 patch got no response for 1+ month, it seems. I see it adds info
> to two places - sgml docs and elog().
>
> I'm skeptical about the elog() changes. Maybe the log level change would
> be good? But as Andres pointed out the people seeing this may not have a
> chance to address the issue.

Hi Tomas,

You both expressed the same concern (users) "may not have a chance to
address the issue" . How's that? Users can disable uring, update OS,
kernel and so on.

If I were DBA in the field, I would want to get *any* sort of warning
that connection times are going to be impacted after setting
io_method=uring (WARNING or INFO, doesnt matter, certainly not DEBUG).
IOPS increase probably does not justify the impact to apps with high
values of high max_connections (app connection latency is also often
top concern). Even OP (Mark) wrote "but when I increase it to =1000
then the time to create a connection almost triples" (and people use
much bigger ones)

We can remove kernel version wording, sure no problem. BTW I'm also a
user and spotted the consequences of lack of this
io_uring_queue_init_mem(3) working on three separate occasions (sic! I
have a short memory), just to realize it's about uring because I've
set up a cluster some time ago and didn't connect the dots after a
while...

today it is:
elog(DEBUG1, "cannot use combined memory mapping for io_uring, ring
creation failed: %m");
elog(DEBUG1, "can't use combined memory mapping for io_uring, kernel
or liburing too old");

So maybe let's just go to the basics and increase DEBUG1->
INFO/NOTICE/WARNING (whatever) and that's all here?

-J.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Shlok Kyal 2025-11-10 09:03:54 Re: Logical Replication of sequences
Previous Message Michael Paquier 2025-11-10 08:53:45 Re: relfilenode statistics