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 1vq74g-004qIS-1K for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Feb 2026 10:04:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vq74f-003C93-1x for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Feb 2026 10:03:58 +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 1vq74f-003C8u-0S for pgsql-hackers@lists.postgresql.org; Wed, 11 Feb 2026 10:03:58 +0000 Received: from lahtoruutu.iki.fi ([2a0b:5c81:1c1::37]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vq74e-0000000082H-01xd for pgsql-hackers@postgresql.org; Wed, 11 Feb 2026 10:03:57 +0000 Received: from [10.0.2.15] (unknown [130.41.208.2]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: hlinnaka) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4f9vCX3gVDz49Q0G; Wed, 11 Feb 2026 12:03:52 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1770804233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Hu1wMKWmBb8zLOpxMLNelFEDG1V0AOQtZ6NQWizvG8c=; b=DjwmPo7W3gsTw+pLHckw+gWpViFLLE5Ek6i5853NRI5Y7kB9SC7wE4muOTAezzPmjtDCQP CTAlzME2mDgMLbZqN6ZUws29TzEk5SLP/oEjDI+b9u+Pj6LrTgrBdz5FwXfj6eFVWBlKLJ 33N4AAW5L6tAksOd7MH/bszBYRfa5082zxEL6hJ6j+OCPmmY4tKpOA0FUgE7tV27pKqRbk yzEWTSM37jUYNmbDfD8OZ1V7iuwcMde9Z9f0XOjeRHPFUjEQ6l55bVjsQqN1Ctwym0iiXv 2Q8+Eg5zJ4U6XAPHzRzzGF941prVkZ6le2SHqRgdvAMVhFpVLyh37GSfp3w0kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1770804233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Hu1wMKWmBb8zLOpxMLNelFEDG1V0AOQtZ6NQWizvG8c=; b=kja3QgzE5Baw6pgGANGHbuKlRrIWyTykatBCeExyq8AfVPbek+okThAhf/AlJRNJ+5ilyX HTXsC51omlJfpQsnb8XkKslmjfN1NdW3+l7PHkJT/SvLkwPIajHoLaZCvB5pap7pGm70kJ XOuon1M0EZ6yxxsd6EGeobx7VWomJeElNurhw1ImxVE8bgWu0e7fxO6eOt2Fw5kPOmbok5 kA/hRaq9J9vTtKD7GOgw622fk8lGYL0Tx3lGaCSRZv8uPyfbrZcddw8CNUCTElCMithOp2 kdaieDSajq/X/2TfVPo+Q3dNjVhNiyzwrK9PS34RppUHbMI5VuQp67BT87Z04A== ARC-Seal: i=1; a=rsa-sha256; d=iki.fi; s=lahtoruutu; cv=none; t=1770804233; b=cflRovh7+R9hBTplfrQQkH0Aw4ILnwSTGJzfoHPdSG2JWlmGchxG9AapTBISZceMlVlgE1 ByBH1HZMV0B1B/BYuUsu4VNYfrAgfhzSzowk9ydimFj2ouwkACjG56fmCfZAjj0zy8NkLR bZEGWCI+D8c4kffDye5t11Mayolk6xiBMSWwSHFDlPkdMxhfktB5pHcbOISSoM24p7k8nU NKdVuSN4jyKB33SaGKBEcCYHcmIHYtOE8n2oCPNY8THsSghNlKVDFqcFECCDEVbIxEcE6O vpvh0NGY+AlKoqkUYP2dxyyodVQ9lkFfALG4zAndblqhU20eBcQ8ci6CEKhYxQ== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=hlinnaka smtp.mailfrom=hlinnaka@iki.fi Content-Type: multipart/mixed; boundary="------------GmTmQMcUd704PHPpmDfAe06s" Message-ID: <787be980-0878-4f4a-be01-d042ab5d370e@iki.fi> Date: Wed, 11 Feb 2026 12:03:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: PGPROC alignment (was Re: pgsql: Separate RecoveryConflictReasons from procsignals) To: Bertrand Drouvot Cc: Andres Freund , "pgsql-hackers@postgresql.org" References: <1cb0d7e9-d6dd-4517-a7cd-0ad98e1207f3@iki.fi> <3dd6f70c-b94d-4428-8e75-74a7136396be@iki.fi> Content-Language: en-US From: Heikki Linnakangas In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------GmTmQMcUd704PHPpmDfAe06s Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/02/2026 06:40, Bertrand Drouvot wrote: > A few comments: > > 0001: > > + * and (b) to make the multiplication / division to convert between PGPROC * > + * and ProcNumber be a little cheaper > > Is that correct if PGPROC size is not a power of 2? You're right, it's not. > 0002: Good catch! Committed that. >> With this, sizeof(PGPROC) == 864 without the explicit alignment to >> PG_CACHE_LINE_SIZE, and 896 with it. > > I can see 876 -> 896 on my side: > > /* 872 | 4 */ uint32 wait_event_info; > /* XXX 20-byte padding */ > > /* total size (bytes): 896 */ > } Interesting. I've attached 'pahole bin/postgres' output from my laptop. It's Linux on arm64. This is with my v2 patches to rearrange the fields, but with the "pg_attribute_aligned(PG_CACHE_LINE_SIZE)" removed. - Heikki --------------GmTmQMcUd704PHPpmDfAe06s Content-Type: text/plain; charset=UTF-8; name="pahole-PGPROC.txt" Content-Disposition: attachment; filename="pahole-PGPROC.txt" Content-Transfer-Encoding: base64 c3RydWN0IFBHUFJPQyB7CglkbGlzdF9oZWFkICogICAgICAgICAgICAgICBwcm9jZ2xvYmFs bGlzdDsgICAgICAgLyogICAgIDAgICAgIDggKi8KCWRsaXN0X25vZGUgICAgICAgICAgICAg ICAgIGZyZWVQcm9jc0xpbms7ICAgICAgICAvKiAgICAgOCAgICAxNiAqLwoJaW50ICAgICAg ICAgICAgICAgICAgICAgICAgcGlkOyAgICAgICAgICAgICAgICAgIC8qICAgIDI0ICAgICA0 ICovCglCYWNrZW5kVHlwZSAgICAgICAgICAgICAgICBiYWNrZW5kVHlwZTsgICAgICAgICAg LyogICAgMjggICAgIDQgKi8KCU9pZCAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFiYXNl SWQ7ICAgICAgICAgICAvKiAgICAzMiAgICAgNCAqLwoJT2lkICAgICAgICAgICAgICAgICAg ICAgICAgcm9sZUlkOyAgICAgICAgICAgICAgIC8qICAgIDM2ICAgICA0ICovCglPaWQgICAg ICAgICAgICAgICAgICAgICAgICB0ZW1wTmFtZXNwYWNlSWQ7ICAgICAgLyogICAgNDAgICAg IDQgKi8KCWludCAgICAgICAgICAgICAgICAgICAgICAgIHBneGFjdG9mZjsgICAgICAgICAg ICAvKiAgICA0NCAgICAgNCAqLwoJdWludDggICAgICAgICAgICAgICAgICAgICAgc3RhdHVz RmxhZ3M7ICAgICAgICAgIC8qICAgIDQ4ICAgICAxICovCgoJLyogWFhYIDMgYnl0ZXMgaG9s ZSwgdHJ5IHRvIHBhY2sgKi8KCglzdHJ1Y3QgewoJCVByb2NOdW1iZXIgICAgICAgICBwcm9j TnVtYmVyOyAgICAgICAgICAgLyogICAgNTIgICAgIDQgKi8KCQlMb2NhbFRyYW5zYWN0aW9u SWQgbHhpZDsgICAgICAgICAgICAgICAgIC8qICAgIDU2ICAgICA0ICovCgl9IHZ4aWQ7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgNTIgICAgIDgg Ki8KCVRyYW5zYWN0aW9uSWQgICAgICAgICAgICAgIHhpZDsgICAgICAgICAgICAgICAgICAv KiAgICA2MCAgICAgNCAqLwoJLyogLS0tIGNhY2hlbGluZSAxIGJvdW5kYXJ5ICg2NCBieXRl cykgLS0tICovCglUcmFuc2FjdGlvbklkICAgICAgICAgICAgICB4bWluOyAgICAgICAgICAg ICAgICAgLyogICAgNjQgICAgIDQgKi8KCVhpZENhY2hlU3RhdHVzICAgICAgICAgICAgIHN1 YnhpZFN0YXR1czsgICAgICAgICAvKiAgICA2OCAgICAgMiAqLwoKCS8qIFhYWCAyIGJ5dGVz IGhvbGUsIHRyeSB0byBwYWNrICovCgoJc3RydWN0IFhpZENhY2hlICAgICAgICAgICAgc3Vi eGlkczsgICAgICAgICAgICAgIC8qICAgIDcyICAgMjU2ICovCgkvKiAtLS0gY2FjaGVsaW5l IDUgYm91bmRhcnkgKDMyMCBieXRlcykgd2FzIDggYnl0ZXMgYWdvIC0tLSAqLwoJTGF0Y2gg ICAgICAgICAgICAgICAgICAgICAgcHJvY0xhdGNoOyAgICAgICAgICAgIC8qICAgMzI4ICAg IDE2ICovCglQR1NlbWFwaG9yZSAgICAgICAgICAgICAgICBzZW07ICAgICAgICAgICAgICAg ICAgLyogICAzNDQgICAgIDggKi8KCWludCAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5 Q2hrcHRGbGFnczsgICAgICAvKiAgIDM1MiAgICAgNCAqLwoJcGdfYXRvbWljX3VpbnQzMiAg ICAgICAgICAgcGVuZGluZ1JlY292ZXJ5Q29uZmxpY3RzOyAvKiAgIDM1NiAgICAgNCAqLwoJ dWludDggICAgICAgICAgICAgICAgICAgICAgbHdXYWl0aW5nOyAgICAgICAgICAgIC8qICAg MzYwICAgICAxICovCgl1aW50OCAgICAgICAgICAgICAgICAgICAgICBsd1dhaXRNb2RlOyAg ICAgICAgICAgLyogICAzNjEgICAgIDEgKi8KCgkvKiBYWFggMiBieXRlcyBob2xlLCB0cnkg dG8gcGFjayAqLwoKCXByb2NsaXN0X25vZGUgICAgICAgICAgICAgIGx3V2FpdExpbms7ICAg ICAgICAgICAvKiAgIDM2NCAgICAgOCAqLwoJcHJvY2xpc3Rfbm9kZSAgICAgICAgICAgICAg Y3ZXYWl0TGluazsgICAgICAgICAgIC8qICAgMzcyICAgICA4ICovCgoJLyogWFhYIDQgYnl0 ZXMgaG9sZSwgdHJ5IHRvIHBhY2sgKi8KCgkvKiAtLS0gY2FjaGVsaW5lIDYgYm91bmRhcnkg KDM4NCBieXRlcykgLS0tICovCglQR1BST0MgKiAgICAgICAgICAgICAgICAgICBsb2NrR3Jv dXBMZWFkZXI7ICAgICAgLyogICAzODQgICAgIDggKi8KCWRsaXN0X2hlYWQgICAgICAgICAg ICAgICAgIGxvY2tHcm91cE1lbWJlcnM7ICAgICAvKiAgIDM5MiAgICAxNiAqLwoJZGxpc3Rf bm9kZSAgICAgICAgICAgICAgICAgbG9ja0dyb3VwTGluazsgICAgICAgIC8qICAgNDA4ICAg IDE2ICovCglMT0NLICogICAgICAgICAgICAgICAgICAgICB3YWl0TG9jazsgICAgICAgICAg ICAgLyogICA0MjQgICAgIDggKi8KCWRsaXN0X25vZGUgICAgICAgICAgICAgICAgIHdhaXRM aW5rOyAgICAgICAgICAgICAvKiAgIDQzMiAgICAxNiAqLwoJLyogLS0tIGNhY2hlbGluZSA3 IGJvdW5kYXJ5ICg0NDggYnl0ZXMpIC0tLSAqLwoJUFJPQ0xPQ0sgKiAgICAgICAgICAgICAg ICAgd2FpdFByb2NMb2NrOyAgICAgICAgIC8qICAgNDQ4ICAgICA4ICovCglMT0NLTU9ERSAg ICAgICAgICAgICAgICAgICB3YWl0TG9ja01vZGU7ICAgICAgICAgLyogICA0NTYgICAgIDQg Ki8KCUxPQ0tNQVNLICAgICAgICAgICAgICAgICAgIGhlbGRMb2NrczsgICAgICAgICAgICAv KiAgIDQ2MCAgICAgNCAqLwoJcGdfYXRvbWljX3VpbnQ2NCAgICAgICAgICAgd2FpdFN0YXJ0 IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDgpKSk7IC8qICAgNDY0ICAgICA4ICovCglQ cm9jV2FpdFN0YXR1cyAgICAgICAgICAgICB3YWl0U3RhdHVzOyAgICAgICAgICAgLyogICA0 NzIgICAgIDQgKi8KCgkvKiBYWFggNCBieXRlcyBob2xlLCB0cnkgdG8gcGFjayAqLwoKCWRs aXN0X2hlYWQgICAgICAgICAgICAgICAgIG15UHJvY0xvY2tzWzE2XTsgICAgICAvKiAgIDQ4 MCAgIDI1NiAqLwoJLyogLS0tIGNhY2hlbGluZSAxMSBib3VuZGFyeSAoNzA0IGJ5dGVzKSB3 YXMgMzIgYnl0ZXMgYWdvIC0tLSAqLwoJTFdMb2NrICAgICAgICAgICAgICAgICAgICAgZnBJ bmZvTG9jazsgICAgICAgICAgIC8qICAgNzM2ICAgIDE2ICovCgl1aW50NjQgKiAgICAgICAg ICAgICAgICAgICBmcExvY2tCaXRzOyAgICAgICAgICAgLyogICA3NTIgICAgIDggKi8KCU9p ZCAqICAgICAgICAgICAgICAgICAgICAgIGZwUmVsSWQ7ICAgICAgICAgICAgICAvKiAgIDc2 MCAgICAgOCAqLwoJLyogLS0tIGNhY2hlbGluZSAxMiBib3VuZGFyeSAoNzY4IGJ5dGVzKSAt LS0gKi8KCV9Cb29sICAgICAgICAgICAgICAgICAgICAgIGZwVlhJRExvY2s7ICAgICAgICAg ICAvKiAgIDc2OCAgICAgMSAqLwoKCS8qIFhYWCAzIGJ5dGVzIGhvbGUsIHRyeSB0byBwYWNr ICovCgoJTG9jYWxUcmFuc2FjdGlvbklkICAgICAgICAgZnBMb2NhbFRyYW5zYWN0aW9uSWQ7 IC8qICAgNzcyICAgICA0ICovCglYTG9nUmVjUHRyICAgICAgICAgICAgICAgICB3YWl0TFNO OyAgICAgICAgICAgICAgLyogICA3NzYgICAgIDggKi8KCWludCAgICAgICAgICAgICAgICAg ICAgICAgIHN5bmNSZXBTdGF0ZTsgICAgICAgICAvKiAgIDc4NCAgICAgNCAqLwoKCS8qIFhY WCA0IGJ5dGVzIGhvbGUsIHRyeSB0byBwYWNrICovCgoJZGxpc3Rfbm9kZSAgICAgICAgICAg ICAgICAgc3luY1JlcExpbmtzOyAgICAgICAgIC8qICAgNzkyICAgIDE2ICovCglfQm9vbCAg ICAgICAgICAgICAgICAgICAgICBwcm9jQXJyYXlHcm91cE1lbWJlcjsgLyogICA4MDggICAg IDEgKi8KCgkvKiBYWFggMyBieXRlcyBob2xlLCB0cnkgdG8gcGFjayAqLwoKCXBnX2F0b21p Y191aW50MzIgICAgICAgICAgIHByb2NBcnJheUdyb3VwTmV4dDsgICAvKiAgIDgxMiAgICAg NCAqLwoJVHJhbnNhY3Rpb25JZCAgICAgICAgICAgICAgcHJvY0FycmF5R3JvdXBNZW1iZXJY aWQ7IC8qICAgODE2ICAgICA0ICovCglfQm9vbCAgICAgICAgICAgICAgICAgICAgICBjbG9n R3JvdXBNZW1iZXI7ICAgICAgLyogICA4MjAgICAgIDEgKi8KCgkvKiBYWFggMyBieXRlcyBo b2xlLCB0cnkgdG8gcGFjayAqLwoKCXBnX2F0b21pY191aW50MzIgICAgICAgICAgIGNsb2dH cm91cE5leHQ7ICAgICAgICAvKiAgIDgyNCAgICAgNCAqLwoJVHJhbnNhY3Rpb25JZCAgICAg ICAgICAgICAgY2xvZ0dyb3VwTWVtYmVyWGlkOyAgIC8qICAgODI4ICAgICA0ICovCgkvKiAt LS0gY2FjaGVsaW5lIDEzIGJvdW5kYXJ5ICg4MzIgYnl0ZXMpIC0tLSAqLwoJWGlkU3RhdHVz ICAgICAgICAgICAgICAgICAgY2xvZ0dyb3VwTWVtYmVyWGlkU3RhdHVzOyAvKiAgIDgzMiAg ICAgNCAqLwoKCS8qIFhYWCA0IGJ5dGVzIGhvbGUsIHRyeSB0byBwYWNrICovCgoJaW50NjQg ICAgICAgICAgICAgICAgICAgICAgY2xvZ0dyb3VwTWVtYmVyUGFnZTsgIC8qICAgODQwICAg ICA4ICovCglYTG9nUmVjUHRyICAgICAgICAgICAgICAgICBjbG9nR3JvdXBNZW1iZXJMc247 ICAgLyogICA4NDggICAgIDggKi8KCXVpbnQzMiAgICAgICAgICAgICAgICAgICAgIHdhaXRf ZXZlbnRfaW5mbzsgICAgICAvKiAgIDg1NiAgICAgNCAqLwoKCS8qIHNpemU6IDg2NCwgY2Fj aGVsaW5lczogMTQsIG1lbWJlcnM6IDUxICovCgkvKiBzdW0gbWVtYmVyczogODI4LCBob2xl czogMTAsIHN1bSBob2xlczogMzIgKi8KCS8qIHBhZGRpbmc6IDQgKi8KCS8qIGZvcmNlZCBh bGlnbm1lbnRzOiAxICovCgkvKiBsYXN0IGNhY2hlbGluZTogMzIgYnl0ZXMgKi8KfSBfX2F0 dHJpYnV0ZV9fKChfX2FsaWduZWRfXyg4KSkpOwo= --------------GmTmQMcUd704PHPpmDfAe06s--