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 1vuYYx-00DMm6-2f for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Feb 2026 16:13:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vuYYw-00ECZm-1z for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Feb 2026 16:13:34 +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 1vuYYw-00ECZd-13 for pgsql-hackers@lists.postgresql.org; Mon, 23 Feb 2026 16:13:34 +0000 Received: from fout-a6-smtp.messagingengine.com ([103.168.172.149]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vuYYt-00000000ozp-1Opv for pgsql-hackers@postgresql.org; Mon, 23 Feb 2026 16:13:33 +0000 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.phl.internal (Postfix) with ESMTP id A4BA3EC031C; Mon, 23 Feb 2026 11:13:31 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Mon, 23 Feb 2026 11:13:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm2; t=1771863211; x=1771949611; bh=mt/pEGacMVZFM8Ixt+u4WVFPTqiye1qI NAe/ejRnoJM=; b=TJAq2/aAZ+0LcYC3TUD3Ng2dKdQ82vpHks4saCYc2h7xul5k 9uT7RMGmhPaW4AxvrtkvlqhaeKN6ouFy6fBq4QJY1zTF9mqv4MwqozanCjUqvSb7 vS2M8SNbojPhnnSMchBUxqHRFGomL2rjBq0DTlYewi6yI7dBqBI7EugN62duvEKM Yth7DvG7E19l1oLZC7KUB0j8zaQp6g+wP4UUrqKSJK+shcRygXIczNuPekuYQex9 oRCrSjZhu7vJUeUa4BkjCUqgsx+qWESb3zPeRu5eA0pXApzuGc55sU0ZJ0DsRmaP cpRYf5bw5v7SWmJH1npfF0KzkAvfWdUJ2m++Qg== 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 :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1771863211; x= 1771949611; bh=mt/pEGacMVZFM8Ixt+u4WVFPTqiye1qINAe/ejRnoJM=; b=v aFV8deRMt8UDdoDSRaiVP1CFOFfz32GI0irph1rg2lEJ6x4aJoGkpsq/5apUXCmD VeFaA9dvc/OmSh7+itoVgKwlZYOiT6/04Ljj7qZfxRa+AHR34pNLJB5dgdBZB6R5 00yMMick9/BRJXFShy29fstwxDHh7sw/oZFVbBg21TrIeKXQLuhotu8aEkflU4uT hQW0j3vNh/aszhzzeIOibI5Hwg9HnbOrLIHrela2RNdVB2736lQIHwTtK51S2VPR Ee+fMGn3SBIMzkTl3SnvFgWxxr2oQr0XvWWZrRtQaHyDMW75bKIyKqwIQN4OhbMG SP4aNT63OjLzBWkdZSXig== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvfeejieelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdejnecuhfhrohhmpefrvghtvghr ucfgihhsvghnthhrrghuthcuoehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgheqne cuggftrfgrthhtvghrnhepgfejtdfhkeeftdeugfeileehteeljeeghfeuledthfeutedv ffdukeefjefhgeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhepphgvthgvrhesvghishgvnhhtrhgruhhtrdhorhhgpdhnsggprhgtphhtthho peegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegsvghrthhrrghnuggurhhouh hvohhtrdhpghesghhmrghilhdrtghomhdprhgtphhtthhopehhlhhinhhnrghkrgesihhk ihdrfhhipdhrtghpthhtoheprghnughrvghssegrnhgrrhgriigvlhdruggvpdhrtghpth htohepphhgshhqlhdqhhgrtghkvghrshesphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 23 Feb 2026 11:13:30 -0500 (EST) Message-ID: Date: Mon, 23 Feb 2026 17:13:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: PGPROC alignment (was Re: pgsql: Separate RecoveryConflictReasons from procsignals) To: Bertrand Drouvot , Heikki Linnakangas Cc: Andres Freund , "pgsql-hackers@postgresql.org" References: <1cb0d7e9-d6dd-4517-a7cd-0ad98e1207f3@iki.fi> <3dd6f70c-b94d-4428-8e75-74a7136396be@iki.fi> <787be980-0878-4f4a-be01-d042ab5d370e@iki.fi> Content-Language: en-US From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 13.02.26 09:03, Bertrand Drouvot wrote: > +/* > + * If compiler understands aligned pragma, use it to align the struct at cache > + * line boundaries. This is just for performance, to (a) avoid false sharing > + * and (b) to make the multiplication / division to convert between PGPROC * > + * and ProcNumber be a little cheaper. > + */ > +#if defined(pg_attribute_aligned) > + pg_attribute_aligned(PG_CACHE_LINE_SIZE) > +#endif > +PGPROC; You can/should use C11 standard alignas(), so you don't need to worry about whether it's supported or not.