Re: Stack-based tracking of per-node WAL/buffer usage

From: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
To: Lukas Fittl <lukas(at)fittl(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tomas Vondra <tomas(at)vondra(dot)me>, Peter Smith <smithpb2250(at)gmail(dot)com>
Subject: Re: Stack-based tracking of per-node WAL/buffer usage
Date: 2026-04-06 22:46:46
Message-ID: CAN4CZFM11mo-Bo3nhdcvVQ_ue7w3u_p8AL6xyDs054Q8kSv-xQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I couldn't find any issues with v15, all comments are stylistic/minor,
except maybe the first one.

+ /* Abort handling: link in parent QueryInstrumentation's unfinalized list */
+ dlist_node unfinalized_entry;

Is it okay to store a pointer in shared memory, even if it seems to be
always NULL there?

#ifndef INSTRUMENT_NODE_H
#define INSTRUMENT_NODE_H

+
+#include "executor/tuptable.h"
+#include "nodes/execnodes.h"
+

Is it okay to incude files in the middle of the file, is there a good
reason why these can't be at the top of the file?

+ * Recurse into children first (bottom-up accumulation), and accummulate
+ * to this nodes instrumentation as the parent context.

Two typos (accumulate / this node's)

#define RELEASE_PRIO_FILES 600
#define RELEASE_PRIO_WAITEVENTSETS 700
+#define RELEASE_PRIO_INSTRUMENTATION 800

This is mainly a generic observation, not strictly related to this
patch, but this list could use some explanation which of these
priorities are actually required by dependencies, and which are just
"put the new entry at the end of the list".

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Jones 2026-04-06 22:52:20 Re: VACUUM FULL, CLUSTER, and REPACK block on other sessions' temp tables
Previous Message Alvaro Herrera 2026-04-06 22:22:32 Re: Adding REPACK [concurrently]