Re: make MaxBackends available in _PG_init - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: make MaxBackends available in _PG_init
Date
Msg-id YgMpGZhPOjNfS7er@paquier.xyz
Whole thread Raw
In response to Re: make MaxBackends available in _PG_init  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: make MaxBackends available in _PG_init  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Tue, Feb 08, 2022 at 04:12:26PM -0500, Robert Haas wrote:
> After some investigation I've determined that it's no longer Friday
> afternoon. I also spent time investigating whether the patch had
> problems that would make me uncomfortable with the idea of committing
> it, and I did not find any. So, I committed it.

@@ -1641,8 +1642,8 @@ SignalBackends(void)
      * XXX in principle these pallocs could fail, which would be bad. Maybe
      * preallocate the arrays?  They're not that large, though.
      */
-    pids = (int32 *) palloc(MaxBackends * sizeof(int32));
-    ids = (BackendId *) palloc(MaxBackends * sizeof(BackendId));
+    pids = (int32 *) palloc(GetMaxBackends() * sizeof(int32));
+    ids = (BackendId *) palloc(GetMaxBackends() * sizeof(BackendId));

You could have optimized this one, while on it, as well as the ones in
pgstat_beinit() and pg_safe_snapshot_blocking_pids().  It is not hot,
but you did that for all the other callers of GetMaxBackends().  Just
saying..
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: [BUG]Update Toast data failure in logical replication
Next
From: Ian Lawrence Barwick
Date:
Subject: Re: is the base backup protocol used by out-of-core tools?