Encapsulate io_uring process count calculation

Started by Japin Li7 months ago4 messages
#1Japin Li
japinli@hotmail.com
1 attachment(s)

I've replaced the hardcoded arithmetic expression for calculating TotalProcs
within the pgaio_uring_shmem_init() with a call to the dedicated
pgaio_uring_procs() function.

This can make the code's intent clearer. Simplifies future modifications
to the calculation, as it only needs to be updated in one place.

--
Regards,
Japin Li

Attachments:

v1-0001-Encapsulate-io_uring-process-count-calculation.patchtext/x-diffDownload
From c3477213ff64788d32430361a8298c8f8a958238 Mon Sep 17 00:00:00 2001
From: Japin Li <japinli@hotmail.com>
Date: Tue, 3 Jun 2025 12:07:04 +0800
Subject: [PATCH v1] Encapsulate io_uring process count calculation

Replace the direct arithmetic expression for TotalProcs with a call to
pgaio_uring_procs() in pgaio_uring_shmem_init().
---
 src/backend/storage/aio/method_io_uring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/storage/aio/method_io_uring.c b/src/backend/storage/aio/method_io_uring.c
index c719ba2727a..cc312b641ca 100644
--- a/src/backend/storage/aio/method_io_uring.c
+++ b/src/backend/storage/aio/method_io_uring.c
@@ -126,7 +126,7 @@ pgaio_uring_shmem_size(void)
 static void
 pgaio_uring_shmem_init(bool first_time)
 {
-	int			TotalProcs = MaxBackends + NUM_AUXILIARY_PROCS - MAX_IO_WORKERS;
+	int			TotalProcs = pgaio_uring_procs();
 	bool		found;

 	pgaio_uring_contexts = (PgAioUringContext *)
--
2.43.0

#2Michael Paquier
michael@paquier.xyz
In reply to: Japin Li (#1)
Re: Encapsulate io_uring process count calculation

On Tue, Jun 03, 2025 at 12:16:21PM +0800, Japin Li wrote:

I've replaced the hardcoded arithmetic expression for calculating TotalProcs
within the pgaio_uring_shmem_init() with a call to the dedicated
pgaio_uring_procs() function.

This can make the code's intent clearer. Simplifies future modifications
to the calculation, as it only needs to be updated in one place.

Sounds like a copy-pasto error to me, so good idea to reuse this
routine. pgaio_uring_procs() is only used for shmem sizing and in a
check at backend initialization currently.
--
Michael

#3Japin Li
japinli@hotmail.com
In reply to: Michael Paquier (#2)
Re: Encapsulate io_uring process count calculation

On Tue, 03 Jun 2025 at 13:27, Michael Paquier <michael@paquier.xyz> wrote:

On Tue, Jun 03, 2025 at 12:16:21PM +0800, Japin Li wrote:

I've replaced the hardcoded arithmetic expression for calculating TotalProcs
within the pgaio_uring_shmem_init() with a call to the dedicated
pgaio_uring_procs() function.

This can make the code's intent clearer. Simplifies future modifications
to the calculation, as it only needs to be updated in one place.

Sounds like a copy-pasto error to me, so good idea to reuse this
routine. pgaio_uring_procs() is only used for shmem sizing and in a
check at backend initialization currently.

Yeah, it might be a copy-pasto error.

--
Regards,
Japin Li

#4Michael Paquier
michael@paquier.xyz
In reply to: Japin Li (#3)
Re: Encapsulate io_uring process count calculation

On Wed, Jun 04, 2025 at 11:12:07AM +0800, Japin Li wrote:

On Tue, 03 Jun 2025 at 13:27, Michael Paquier <michael@paquier.xyz> wrote:

Sounds like a copy-pasto error to me, so good idea to reuse this
routine. pgaio_uring_procs() is only used for shmem sizing and in a
check at backend initialization currently.

Hearing nothing, applied that, then.
--
Michael