Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5AjC-002y5d-1U for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 23:00:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5AjA-009TRu-1y for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 23:00:01 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5AjA-009TRm-0u for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 23:00:00 +0000 Received: from mail-yw1-x1135.google.com ([2607:f8b0:4864:20::1135]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5Aj7-00000000xXF-1UY6 for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 23:00:00 +0000 Received: by mail-yw1-x1135.google.com with SMTP id 00721157ae682-79ab0e9c724so21954027b3.2 for ; Tue, 24 Mar 2026 15:59:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774393196; cv=none; d=google.com; s=arc-20240605; b=d0M+G8/T5lJQEPiENOi0D8ejthisq7wuRL76KExk07g+gyPrPO6DzJg2j7ucRmcM3r k/ZKjmnigd2jke+4Roz061XaYMVXJzGwRMrdHkOOgm/ydRfeqKb0HdI+hInzWsNuFFHQ ovPqzXLq3VpxT9WtlSIV1tLYN69Qn4IDtXZjqM10plyg2HsXBaJ8VecoiCVELtd3F77v 44HOBVBCl7cgjbrjWK20wsOUuHLjt9YIfQO8UqnvmpKhCNCealF8OsmE4VyyNlN9gNzh 5W8RqT4Wmocp3iS9NEZbRs38R+FspatTV766WNj588duyIIWpTDOTRFLE+RXwkhibypg fIOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=3gKMvi+yYNQFJt5j6y37HeBXcaMGQ1jdGMSjg8TtL1A=; fh=o/+GQ406Y7u9p1iZSJlCidg/Rszq/1Wk5K30+fNOg2Y=; b=O8ECxSZT7eL9A6DuU330XZd2GDOzKO80J4dFIRCphktD2rgM1QXREaqoioO6zbZood aXXyxGppZt20IPDIOWdKRuSS53oHteQzUIHnCvUhb3ZVGqnLsvo199AhYSa44g+F9i1n rbh4oNCcgJsVHPZZIvVOircs86IzGJFMs4GzssnZbCzmsGIcFnas/S+PZFJbjJaYNd5o EIMyorUO4trO0ukDHWF7EGmaLmt1o+iZvHCdYNDfJhjGv+eoTMQzxPiJnJ+nUnPUjlK+ Uqq73bSkC5EI7gORAQjBfvZUjUsUYjUVC0VUs6TMwVOaHYSLT5gw7wwQ1wI0BDqeN7BZ 6OKQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=percona.com; s=google; t=1774393196; x=1774997996; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=3gKMvi+yYNQFJt5j6y37HeBXcaMGQ1jdGMSjg8TtL1A=; b=Z6JXIR5A9NYmC/K38hVEO/9qVDzpm8c1K+wuKXlFr+LovVPcZ5baGfJ/teBDOj3/wN NI9OBSR1yY4hKrDE92OkIOmabtnr5CVgIKkiVyWi9QK/sTNQ4yVJjoRAmgVhWATuilRE QpuLWya5Xvdgja2uPMAOzt3h7x8sOriY8DPSo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774393196; x=1774997996; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3gKMvi+yYNQFJt5j6y37HeBXcaMGQ1jdGMSjg8TtL1A=; b=l5Jy2LS7tZC3P3+V6xjkzOrA5dUyFRpsVXNCdJzYYMKQ0c+T5wFM7LloPMP/lpU7Su Uu/BIug7I7LZxg8Zr8K2GODUU85Dz5VH1gWVh818Bt3RqnlO5P5kIPsujtuJT1NB1EnZ +i0ciIobnElXWXMZh6lmDZIZjw56anoH2b0S3e3ORmZquy7Kexv/LsDH0RjKIm19Ya7K hG/CPCPde4w7/m5GQYzUHpWFeUgKmDypyhVH8iB3wkKxPprivvsaO5osSDzyMJTOnTf5 rgz573VSsuL80vr7nQ4R5ERBYM5UzpRmT2yKShU6eZ98P+uHirBaHK3LYnYQ/juCmIFz u6ig== X-Forwarded-Encrypted: i=1; AJvYcCXEl3tRQETTnUgiyACdvaQDWBadyP98fxiB24Frg+wrcUwLwGZdp0fjVAwVW3lIWUF2Cijzh1MnQv6WxKbN@lists.postgresql.org X-Gm-Message-State: AOJu0YyPH8tg5CDE5lPZBcujaCGRBK6c5659/t4mMVmJfaWZNwdgknev qKRku2fbVqEvg4IQZCNPke/wozgRh1iSpf/75Uph0d1rdT0Mtwp3lmXAaeCrjACELtUhjEyQrrE F/t3RoriuUXmy8KrzjuoZIGUeMGVCFwji1XIJoBPyf+QWEfPvmu+1Evcl7OCj2Bfyx0Ps4mYQv4 gZBifFl5VFLPNrlKiA9taEhBiWWYFqAjVm9x9KQ1wGPbS+X6BbMVpRXLgOscrUSZiuQg/m6qtld 0++Rm6N/65awQxVz9IR6FwiDDkPSvy6VAFxukqQcNMx+UvexpwlHAMH+L2nlyDL3s8= X-Gm-Gg: ATEYQzzafiwB5elmDsZlbzooN9Us5E1662W59lQOARP9361K4mzhxHXtFY4d7R3cKkk BSApTcP2S43wnuYFfa+mN7bmQ+9Yr6K2cZb+jfk8OH7y/8z61WhhXWAtLcNszrUZmhd/dCh+4/1 k+wuFzpx4BUBrKWFhCHpg75wTLTPUcsF7g0DXweFUzJQy2e21hGwTB34wtnfoAshAMOPofketSb bROzJUTcuayoimiz8W9bhPcmtHlYOUbSp8skOj7AGfZJ2yFFW3fpYbLQcX8CfkgxZKQvAXu72ia IrzpNCoPtcxzOnLUoktcXM560aOduVRToub9eWMCZkFrX7WO5iF0OQTcDsjZNqb0+55b X-Received: by 2002:a05:690c:f09:b0:79a:5fb9:62c0 with SMTP id 00721157ae682-79acf717724mr16281777b3.43.1774393195980; Tue, 24 Mar 2026 15:59:55 -0700 (PDT) MIME-Version: 1.0 References: <06086cb4-881b-4f5a-96af-f275220ff52d@vondra.me> In-Reply-To: From: Zsolt Parragi Date: Tue, 24 Mar 2026 22:59:45 +0000 X-Gm-Features: AQROBzBIgySiWD6ucFVIlTLEulAV-sPyT1OgK89ujD7zqTujHMcJmLLqsanA3N0 Message-ID: Subject: Re: Stack-based tracking of per-node WAL/buffer usage To: Lukas Fittl Cc: Heikki Linnakangas , Andres Freund , Tomas Vondra , PostgreSQL Hackers , Peter Smith Content-Type: text/plain; charset="UTF-8" X-CLOUD-SEC-AV-Sent: true X-CLOUD-SEC-AV-Info: percona,google_mail,monitor X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk I like the new approach, but doesn't `EXPLAIN (BUFFERS)` leak some memory because the resource owner isn't registered on that path? It seems to be visible with pg_log_backend_memory_contexts. #define INSTR_BUFUSAGE_ADD(fld,val) do { \ - pgBufferUsage.fld += val; \ + instr_stack.current->bufusage.fld += val; \ #define INSTR_WALUSAGE_ADD(fld,val) do { \ pgWalUsage.fld += val; \ + instr_stack.current->walusage.fld += val; \ Nitpick, but these could use += (val)