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 1vfLkb-001EUO-2n for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 17:30:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vfLka-001IX0-2Y for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 17:30:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vfLkZ-001IWq-2r for pgsql-hackers@lists.postgresql.org; Mon, 12 Jan 2026 17:30:44 +0000 Received: from fhigh-b6-smtp.messagingengine.com ([202.12.124.157]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vfLkX-0003dV-0t for pgsql-hackers@postgresql.org; Mon, 12 Jan 2026 17:30:43 +0000 Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49]) by mailfhigh.stl.internal (Postfix) with ESMTP id 1F20D7A013B; Mon, 12 Jan 2026 12:30:41 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-09.internal (MEProxy); Mon, 12 Jan 2026 12:30:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kurilemu.de; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to; s=fm1; t=1768239040; x= 1768325440; bh=jfEXXlSK8TDcY9+vx8AaStBXsuuuBAgma1KTuV87ft8=; b=J CC3+9RoKXNX0URCYnBupiZzSpww8RJ0ozoCDL6X3EAhRast2tVRM8wNaJe6c0DeM KlZ4kHxjyy2Kc/38nXnJ4WRO2xEKpznHYWR9E68QDcAMyRC96QRYpGmBMWJ/LIcd VrIIP+g1oClSEkq10Z6d2SGsHJNBjuteynO4RZGSXiPxQg7QQ7mY8kZFSEZgkZ1a /4clCguA5MuRoHyBGnpSsX6eQeSQUcuS6Tk30/qJJHtAOLH7GQmh9rZkp+uRvVIz eI3wTBuj4QTi8LXAeU4sY1olV98vF66sUlT5TSmx0bkKXBNpa/bqgV1aJ8u5ardd E565BaaipDqZx7Sh6crEQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1768239040; x=1768325440; bh=j fEXXlSK8TDcY9+vx8AaStBXsuuuBAgma1KTuV87ft8=; b=Lsf/3xyIHqOV+V0cm fn+hVf4tOkm8+//YQPSP94hrLnZLqNzYNbheP1xwYZ9vGcmLQn74ij6ljbn4992o IeqUftl+b+aHoA2zfpxCio50Ma19UH+0JUA0848WlWtHYGU7nIQWpMRtKKf84oIo ssk3KHZPoGP4hAh8HQVstJY6siBFwrs9E2oZFnAQA3m/SJMKmqDA6+/Tow5aiNiK keLa28ngLUDfihe8jjK0YjgYZ2H8jRo8lnFBPHT+fPD7NF89+PMwT2XVY4WBD27/ FgQN7T/BzboleYZ4tROfrOoI3Hbb4kWfByfg2Q1QNyoJEhKZY/PMNA/CPgAr75Fy xArqQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdduudektdehucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkgggtugfgjgesthekredttddtjeenucfhrhhomheplmhlvhgrrhho ucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggvqeenucggtf frrghtthgvrhhnpeekgfekhffggfehvdfgtddvvdeiheevudeitdeiheekudehgfetteev kedtfeekgeenucffohhmrghinhepphhoshhtghhrrdgvshdpvghnthgvrhhprhhishgvug gsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mheprghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggvpdhnsggprhgtphhtthhopeefpd hmohguvgepshhmthhpohhuthdprhgtphhtthhopehgohhniigrlhgvmhgrrhhiohesghhm rghilhdrtghomhdprhgtphhtthhopehlihdrvghvrghnrdgthhgrohesghhmrghilhdrtg homhdprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehpohhsthhgrhgvshhqlhdr ohhrgh X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 12 Jan 2026 12:30:40 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1768239038; bh=T8aS11QTVcWMwDZJbf5cBA9ttEOL6oEaFldtmg13An4=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=taATQzACNgktw6ksVx66lDnBK+TLTi/uZluCP9vcUTNZODoXAYX17RCxtw8ybi8MO PB5bbyfGmPY/2jaiZX9TmXiHwhh0nnn9Z7MJpH01Lfv4rQn9drz1aud8EeMjF+xYd1 PbRvirf55FKNTKerW9ziO6J0E+frnfEue7xoUqkhLqevQ9tMfy60DPno3y36B0LfTW tdpT62yEGDEoU9Ww8vk2ipwdVhhcZnVT8pZluno9QAMcHsbhW5gYZmEWpQCfSuUUfl 5G9+WMo6SM7d6Ch8jxhZSAkyf+kcdoGQR0QWL1/Bcje5giJclo+Sooxo1im45GnT6C XgOUj97OZq4iw== Received: by schmee.kurilemu.internal (Postfix, from userid 1000) id 8FB1B78; Mon, 12 Jan 2026 18:30:38 +0100 (CET) Date: Mon, 12 Jan 2026 18:30:38 +0100 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: Mario =?utf-8?B?R29uesOhbGV6?= Troncoso Cc: Chao Li , pgsql-hackers Subject: Re: [PATCH} Move instrumentation structs Message-ID: <202601121714.qowwvwvkkadz@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <202601121600.j4h2j6wu7jqa@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Pushed the rest as a single commit. Thanks! BTW to show the impact this has on the tree, I rebuilt the inclusion tables I described previously[1] before and after this commit. This table shows how many files include each header before and after, and the difference between those two. I'm really surprised that files like storage/dsm.h and storage/dsa.h are now used by several hundred files less than before (I didn't even realize they were so heavily included). I'm not at all surprised that gin_tuple.h which was previously being included by 730 files is now being include by only 2 (and brin_tuple also now used only by 15 files instead of 743) -- this is exactly what I set out to fix here. [1] https://postgr.es/m/202510021240.ptc2zl5cvwen@alvherre.pgsql include │ num includes original │ num includes patched │ delta ──────────────────────────────────────┼───────────────────────┼──────────────────────┼─────── storage/dsm.h │ 3997 │ 2359 │ 1638 utils/dsa.h │ 2547 │ 1209 │ 1338 port/atomics.h │ 3354 │ 2097 │ 1257 nodes/tidbitmap.h │ 1803 │ 1041 │ 762 lib/pairingheap.h │ 2571 │ 1814 │ 757 utils/snapshot.h │ 2142 │ 1394 │ 748 access/gin_tuple.h │ 730 │ 2 │ 728 access/brin_internal.h │ 749 │ 21 │ 728 access/ginblock.h │ 748 │ 20 │ 728 access/brin_tuple.h │ 743 │ 15 │ 728 access/amapi.h │ 870 │ 143 │ 727 access/genam.h │ 1121 │ 397 │ 724 utils/typcache.h │ 810 │ 87 │ 723 storage/off.h │ 3964 │ 3259 │ 705 storage/itemptr.h │ 3639 │ 2934 │ 705 access/htup.h │ 3288 │ 2592 │ 696 utils/sortsupport.h │ 1828 │ 1234 │ 594 storage/bufpage.h │ 2068 │ 1494 │ 574 utils/relcache.h │ 3196 │ 2694 │ 502 nodes/pg_list.h │ 4989 │ 4488 │ 501 nodes/nodes.h │ 6044 │ 5543 │ 501 access/tupdesc.h │ 4029 │ 3530 │ 499 catalog/pg_attribute.h │ 4031 │ 3532 │ 499 access/transam.h │ 2675 │ 2214 │ 461 common/relpath.h │ 4292 │ 3866 │ 426 nodes/bitmapset.h │ 4386 │ 4089 │ 297 storage/fd.h │ 2583 │ 2422 │ 161 access/skey.h │ 1165 │ 1018 │ 147 storage/fileset.h │ 1616 │ 1524 │ 92 storage/sharedfileset.h │ 1276 │ 1184 │ 92 storage/spin.h │ 2736 │ 2647 │ 89 executor/instrument.h │ 744 │ 691 │ 53 nodes/memnodes.h │ 1177 │ 1124 │ 53 utils/memutils.h │ 1175 │ 1122 │ 53 nodes/miscnodes.h │ 745 │ 692 │ 53 utils/logtape.h │ 730 │ 677 │ 53 utils/tuplesort.h │ 727 │ 674 │ 53 lib/simplehash.h │ 724 │ 671 │ 53 access/tupconvert.h │ 717 │ 664 │ 53 utils/sharedtuplestore.h │ 715 │ 662 │ 53 nodes/execnodes.h │ 712 │ 659 │ 53 nodes/plannodes.h │ 836 │ 785 │ 51 access/attmap.h │ 859 │ 810 │ 49 storage/condition_variable.h │ 949 │ 901 │ 48 utils/tuplestore.h │ 908 │ 860 │ 48 access/itup.h │ 930 │ 883 │ 47 access/tupmacs.h │ 1347 │ 1301 │ 46 storage/proclist_types.h │ 1723 │ 1693 │ 30 utils/queryenvironment.h │ 1056 │ 1034 │ 22 nodes/primnodes.h │ 2289 │ 2281 │ 8 -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ "No renuncies a nada. No te aferres a nada."