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 1vtXel-00DzzV-29 for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Feb 2026 21:03:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vtXek-009DCf-1S for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Feb 2026 21:03:22 +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 1vtXek-009DCW-0K for pgsql-hackers@lists.postgresql.org; Fri, 20 Feb 2026 21:03:22 +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 1vtXef-00000000RHI-3XHQ for pgsql-hackers@postgresql.org; Fri, 20 Feb 2026 21:03:21 +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 4fHjQC3z9Gz49Q71; Fri, 20 Feb 2026 23:03:15 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1771621395; 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=27pVW3bbevqrL77jzK8jD93G8+iSTkFSdjLmtpI0AUQ=; b=A8yXPC1yA8Juhk/q1wBDC0Qxl754fwave+uS6CZYt2ytolFQZGBcuEiKen61RvGluG+bgm RUBVH4M/378VN08e4j1b3AMa58RhRQ1pNnjcehSaOAkixxLur35avw0bjt2zr7NgIdN80W blh6ilzZA1/9kiLKrDMEA7lsocTZ4zz7B629HCZJaqMMDhNtQtoRbiSzO96X+8lSCWboR+ yy0jTBmj68BNmRizrAhr94NnSxq/cOMUB4LbFTt6kCPcpyZoaYXjKnyx5iNNZgoaQ8inh9 oM2Hylz2NKUNLJbmwn14V6+nIN21P4VQRF3MkQqakr/ieSh+Ju5UM8R+WjhiWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1771621395; 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=27pVW3bbevqrL77jzK8jD93G8+iSTkFSdjLmtpI0AUQ=; b=htetXgGb4N12kIn7DVglGi1UordZ3ejW147aTGsZTIKG8X7ynGRsYsCkG1yRE2YUg1A7LX kREgBkDkAYm9SRy98+fEp1zKstfLF6dbbM+ykBYqgHaFWHDMFgueh3QRs2AhyG+kNVstSf AdwFbswachIlO4xwxck8XiyREbVqoVnPf0eccRIGU+45c9l3iu9bU3Usf08nn64cTBgwK6 oGuGh5mauima8SPJz0U6U6ajvj3kxO+i6Dmd84u+945vJeJpRHKDAGi6fTXkv63pVNujia b4JLWdCJ4DGxXBhnYVDMV2vafwXqImQbA8UdsDFDZN3fCRjQKQy98y8EnW5A7g== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=hlinnaka smtp.mailfrom=hlinnaka@iki.fi ARC-Seal: i=1; a=rsa-sha256; d=iki.fi; s=lahtoruutu; cv=none; t=1771621395; b=QVUMeTCAAyzcmZ5Pp6l2lTGZ8NRzXu3MMNNeiHXCCoQehiVo9gdVH8guj+c9axg9JZQfax 4Z2uu/UbP8pGMN5oAFIBDtc3k38jhq6clvl4onNoFM+nWg2n3yQKGczXvDLVJRR0xinPwc Hnxvo3QMvPlGdtQB3hmu6N0FBQ0tolwgclUF1/p4/y0w+Su6LWl4zy8iy81Al4WirlF4Lp zY6vzcpT4w1xZ1KM1Pll+3tjtIrT81aRb+C7Hdgs521BKvIJTuL1stEU9uuKuwbTZIsKPo 7SxQi/ILOcpGvlj1WqiAKkBd4mGeFm/VyJ76VgqjOiRSeznon0MNDMne6kwO2w== Content-Type: multipart/mixed; boundary="------------pDqoFkkI0UWLX3GrALSn6wi8" Message-ID: <60478a2d-915e-411d-9f7d-42917dd8b8c4@iki.fi> Date: Fri, 20 Feb 2026 23:03:09 +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> <787be980-0878-4f4a-be01-d042ab5d370e@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. --------------pDqoFkkI0UWLX3GrALSn6wi8 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/02/2026 06:40, Bertrand Drouvot wrote: > 0004: > > The grouping looks Ok to me. Just one nit for the added comments: > > + /*---- Backend identity ----*/ > + /*---- Transactions and snapshots ----*/ > + /*---- Inter-process signaling ----*/ > + /*---- LWLock waiting ----*/ > + /*---- Lock manager data ----*/ > + /*---- Synchronous replication waiting ----*/ > + /*---- Support for group XID clearing. ----*/ > + /*---- Support for group transaction status update. ----*/ > + /*---- Status reporting ----*/ > > Some have period and some don't. Fixed that, and changed to different style for the delimiter comments. It's a matter of taste, but I think the new style is closer to what we use elsewhere. On 13/02/2026 10:03, Bertrand Drouvot wrote: > and what the patch adds: > > +/* > + * 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; > > It means that PGPROC is "acceptable" without padding (on compiler that does not > understand the aligned attribute). > > OTOH, looking at: > > " > typedef union WALInsertLockPadded > { > WALInsertLock l; > char pad[PG_CACHE_LINE_SIZE]; > } WALInsertLockPadded; > " > > It seems to mean that WALInsertLockPadded is unacceptable without padding (since > it's not using pg_attribute_aligned()). > > That looks ok to see PGPROC as an "acceptable" one, if not, should we use the > union trick? It seems acceptable to just not align it if the compiler doesn't support it. This is just a performance optimization, after all. Attached is new versions the remaining patches. I think these are ready to be committed. I don't have the hardware and test case that would be sensitive enough for these changes in memory layout, so I haven't done any performance testing of this. I'd guess this no worse than the old layout. Grouping fields together which are used together is usually a good strategy. I don't feel obliged to do performance testing of this, given that no one did that for the old layout either, so if it happened to be really good from a performance point of view, it was purely accidental. But if anyone has the means and interest to do that, that'd be much appreciated of course. - Heikki --------------pDqoFkkI0UWLX3GrALSn6wi8 Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-Rearrange-fields-in-PGPROC-for-clarity.patch" Content-Disposition: attachment; filename="v2-0001-Rearrange-fields-in-PGPROC-for-clarity.patch" Content-Transfer-Encoding: base64 RnJvbSBjYzc1ZGIzOTE4NGI2NTYwZGVkNWY5N2I1MjAyYzE0MTg3ZTlmODAxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWlra2kgTGlubmFrYW5nYXMgPGhlaWtraS5saW5u YWthbmdhc0Bpa2kuZmk+CkRhdGU6IEZyaSwgMjAgRmViIDIwMjYgMjI6MzA6MDEgKzAyMDAK U3ViamVjdDogW1BBVENIIHYyIDEvMl0gUmVhcnJhbmdlIGZpZWxkcyBpbiBQR1BST0MsIGZv ciBjbGFyaXR5CgpUaGUgb3JkZXJpbmcgd2FzIHByZXR0eSByYW5kb20sIG1ha2luZyBpdCBo YXJkIHRvIGdldCBhbiBvdmVydmlldyBvZgp3aGF0J3MgaW4gaXQuIEdyb3VwIHJlbGF0ZWQg ZmllbGRzIHRvZ2V0aGVyLCBhbmQgYWRkIGNvbW1lbnRzIHRvIGFjdAphcyBzZXBhcmF0b3Jz IGJldHdlZW4gdGhlIGdyb3Vwcy4KClJldmlld2VkLWJ5OiBCZXJ0cmFuZCBEcm91dm90IDxi ZXJ0cmFuZGRyb3V2b3QucGdAZ21haWwuY29tPgpEaXNjdXNzaW9uOiBodHRwczovL3d3dy5w b3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkLzNkZDZmNzBjLWI5NGQtNDQyOC04ZTc1LTc0YTcx MzYzOTZiZUBpa2kuZmkKLS0tCiBzcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2MuaCB8IDE0NyAr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg OTIgaW5zZXJ0aW9ucygrKSwgNTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvc3RvcmFnZS9wcm9jLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2MuaAppbmRl eCBlMTY1YjQxNDI0MS4uYjJmZDRkMDI5NTkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0 b3JhZ2UvcHJvYy5oCisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvYy5oCkBAIC0xNzgs MzMgKzE3OCw0MSBAQCB0eXBlZGVmIGVudW0KICAqCiAgKiBTZWUgUFJPQ19IRFIgZm9yIGRl dGFpbHMuCiAgKi8KLXN0cnVjdCBQR1BST0MKK3R5cGVkZWYgc3RydWN0IFBHUFJPQwogewog CWRsaXN0X2hlYWQgKnByb2NnbG9iYWxsaXN0OyAvKiBwcm9jZ2xvYmFsIGxpc3QgdGhhdCBv d25zIHRoaXMgUEdQUk9DICovCiAJZGxpc3Rfbm9kZQlmcmVlUHJvY3NMaW5rOwkvKiBsaW5r IGluIHByb2NnbG9iYWxsaXN0LCB3aGVuIGluIHJlY3ljbGVkCiAJCQkJCQkJCSAqIHN0YXRl ICovCiAKLQlQR1NlbWFwaG9yZSBzZW07CQkJLyogT05FIHNlbWFwaG9yZSB0byBzbGVlcCBv biAqLwotCVByb2NXYWl0U3RhdHVzIHdhaXRTdGF0dXM7Ci0KLQlMYXRjaAkJcHJvY0xhdGNo OwkJLyogZ2VuZXJpYyBsYXRjaCBmb3IgcHJvY2VzcyAqLworCS8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKKwkgKiBCYWNrZW5kIGlkZW50aXR5CisJICoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAorCS8q CisJICogVGhlc2UgZmllbGRzIHRoYXQgZG9uJ3QgY2hhbmdlIGFmdGVyIGJhY2tlbmQgc3Rh cnR1cCwgb3Igb25seSB2ZXJ5CisJICogcmFyZWx5CisJICovCisJaW50CQkJcGlkOwkJCS8q IEJhY2tlbmQncyBwcm9jZXNzIElEOyAwIGlmIHByZXBhcmVkIHhhY3QgKi8KKwlCYWNrZW5k VHlwZSBiYWNrZW5kVHlwZTsJLyogd2hhdCBraW5kIG9mIHByb2Nlc3MgaXMgdGhpcz8gKi8K IAotCVRyYW5zYWN0aW9uSWQgeGlkOwkJCS8qIGlkIG9mIHRvcC1sZXZlbCB0cmFuc2FjdGlv biBjdXJyZW50bHkgYmVpbmcKLQkJCQkJCQkJICogZXhlY3V0ZWQgYnkgdGhpcyBwcm9jLCBp ZiBydW5uaW5nIGFuZCBYSUQKLQkJCQkJCQkJICogaXMgYXNzaWduZWQ7IGVsc2UgSW52YWxp ZFRyYW5zYWN0aW9uSWQuCi0JCQkJCQkJCSAqIG1pcnJvcmVkIGluIFByb2NHbG9iYWwtPnhp ZHNbcGd4YWN0b2ZmXSAqLwotCi0JVHJhbnNhY3Rpb25JZCB4bWluOwkJCS8qIG1pbmltYWwg cnVubmluZyBYSUQgYXMgaXQgd2FzIHdoZW4gd2Ugd2VyZQotCQkJCQkJCQkgKiBzdGFydGlu ZyBvdXIgeGFjdCwgZXhjbHVkaW5nIExBWlkgVkFDVVVNOgotCQkJCQkJCQkgKiB2YWN1dW0g bXVzdCBub3QgcmVtb3ZlIHR1cGxlcyBkZWxldGVkIGJ5Ci0JCQkJCQkJCSAqIHhpZCA+PSB4 bWluICEgKi8KKwkvKiBUaGVzZSBmaWVsZHMgYXJlIHplcm8gd2hpbGUgYSBiYWNrZW5kIGlz IHN0aWxsIHN0YXJ0aW5nIHVwOiAqLworCU9pZAkJCWRhdGFiYXNlSWQ7CQkvKiBPSUQgb2Yg ZGF0YWJhc2UgdGhpcyBiYWNrZW5kIGlzIHVzaW5nICovCisJT2lkCQkJcm9sZUlkOwkJCS8q IE9JRCBvZiByb2xlIHVzaW5nIHRoaXMgYmFja2VuZCAqLwogCi0JaW50CQkJcGlkOwkJCS8q IEJhY2tlbmQncyBwcm9jZXNzIElEOyAwIGlmIHByZXBhcmVkIHhhY3QgKi8KKwlPaWQJCQl0 ZW1wTmFtZXNwYWNlSWQ7CS8qIE9JRCBvZiB0ZW1wIHNjaGVtYSB0aGlzIGJhY2tlbmQgaXMK KwkJCQkJCQkJCSAqIHVzaW5nICovCiAKIAlpbnQJCQlwZ3hhY3RvZmY7CQkvKiBvZmZzZXQg aW50byB2YXJpb3VzIFByb2NHbG9iYWwtPmFycmF5cyB3aXRoCiAJCQkJCQkJCSAqIGRhdGEg bWlycm9yZWQgZnJvbSB0aGlzIFBHUFJPQyAqLwogCisJdWludDgJCXN0YXR1c0ZsYWdzOwkv KiB0aGlzIGJhY2tlbmQncyBzdGF0dXMgZmxhZ3MsIHNlZSBQUk9DXyoKKwkJCQkJCQkJICog YWJvdmUuIG1pcnJvcmVkIGluCisJCQkJCQkJCSAqIFByb2NHbG9iYWwtPnN0YXR1c0ZsYWdz W3BneGFjdG9mZl0gKi8KKworCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKwkgKiBUcmFuc2FjdGlv bnMgYW5kIHNuYXBzaG90cworCSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKIAkvKgogCSAqIEN1 cnJlbnRseSBydW5uaW5nIHRvcC1sZXZlbCB0cmFuc2FjdGlvbidzIHZpcnR1YWwgeGlkLiBU b2dldGhlciB0aGVzZQogCSAqIGZvcm0gYSBWaXJ0dWFsVHJhbnNhY3Rpb25JZCwgYnV0IHdl IGRvbid0IHVzZSB0aGF0IHN0cnVjdCBiZWNhdXNlIHRoaXMKQEAgLTIyNCwxNCArMjMyLDMw IEBAIHN0cnVjdCBQR1BST0MKIAkJCQkJCQkJCSAqIEludmFsaWRMb2NhbFRyYW5zYWN0aW9u SWQgKi8KIAl9CQkJdnhpZDsKIAotCS8qIFRoZXNlIGZpZWxkcyBhcmUgemVybyB3aGlsZSBh IGJhY2tlbmQgaXMgc3RpbGwgc3RhcnRpbmcgdXA6ICovCi0JT2lkCQkJZGF0YWJhc2VJZDsJ CS8qIE9JRCBvZiBkYXRhYmFzZSB0aGlzIGJhY2tlbmQgaXMgdXNpbmcgKi8KLQlPaWQJCQly b2xlSWQ7CQkJLyogT0lEIG9mIHJvbGUgdXNpbmcgdGhpcyBiYWNrZW5kICovCisJVHJhbnNh Y3Rpb25JZCB4aWQ7CQkJLyogaWQgb2YgdG9wLWxldmVsIHRyYW5zYWN0aW9uIGN1cnJlbnRs eSBiZWluZworCQkJCQkJCQkgKiBleGVjdXRlZCBieSB0aGlzIHByb2MsIGlmIHJ1bm5pbmcg YW5kIFhJRAorCQkJCQkJCQkgKiBpcyBhc3NpZ25lZDsgZWxzZSBJbnZhbGlkVHJhbnNhY3Rp b25JZC4KKwkJCQkJCQkJICogbWlycm9yZWQgaW4gUHJvY0dsb2JhbC0+eGlkc1twZ3hhY3Rv ZmZdICovCiAKLQlPaWQJCQl0ZW1wTmFtZXNwYWNlSWQ7CS8qIE9JRCBvZiB0ZW1wIHNjaGVt YSB0aGlzIGJhY2tlbmQgaXMKLQkJCQkJCQkJCSAqIHVzaW5nICovCisJVHJhbnNhY3Rpb25J ZCB4bWluOwkJCS8qIG1pbmltYWwgcnVubmluZyBYSUQgYXMgaXQgd2FzIHdoZW4gd2Ugd2Vy ZQorCQkJCQkJCQkgKiBzdGFydGluZyBvdXIgeGFjdCwgZXhjbHVkaW5nIExBWlkgVkFDVVVN OgorCQkJCQkJCQkgKiB2YWN1dW0gbXVzdCBub3QgcmVtb3ZlIHR1cGxlcyBkZWxldGVkIGJ5 CisJCQkJCQkJCSAqIHhpZCA+PSB4bWluICEgKi8KIAotCUJhY2tlbmRUeXBlIGJhY2tlbmRU eXBlOwkvKiB3aGF0IGtpbmQgb2YgcHJvY2VzcyBpcyB0aGlzPyAqLworCVhpZENhY2hlU3Rh dHVzIHN1YnhpZFN0YXR1czsJLyogbWlycm9yZWQgd2l0aAorCQkJCQkJCQkJICogUHJvY0ds b2JhbC0+c3VieGlkU3RhdGVzW2ldICovCisJc3RydWN0IFhpZENhY2hlIHN1YnhpZHM7CS8q IGNhY2hlIGZvciBzdWJ0cmFuc2FjdGlvbiBYSURzICovCisKKworCS8qKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKwkgKiBJbnRlci1wcm9jZXNzIHNpZ25hbGluZworCSAqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovCisKKwlMYXRjaAkJcHJvY0xhdGNoOwkJLyogZ2VuZXJpYyBsYXRjaCBmb3IgcHJvY2Vz cyAqLworCisJUEdTZW1hcGhvcmUgc2VtOwkJCS8qIE9ORSBzZW1hcGhvcmUgdG8gc2xlZXAg b24gKi8KKworCWludAkJCWRlbGF5Q2hrcHRGbGFnczsJLyogZm9yIERFTEFZX0NIS1BUXyog ZmxhZ3MgKi8KIAogCS8qCiAJICogV2hpbGUgaW4gaG90IHN0YW5kYnkgbW9kZSwgc2hvd3Mg dGhhdCBhIGNvbmZsaWN0IHNpZ25hbCBoYXMgYmVlbiBzZW50CkBAIC0yNDMsNiArMjY3LDEw IEBAIHN0cnVjdCBQR1BST0MKIAkgKi8KIAlwZ19hdG9taWNfdWludDMyIHBlbmRpbmdSZWNv dmVyeUNvbmZsaWN0czsKIAorCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKwkgKiBMV0xvY2sgd2Fp dGluZworCSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiovCisKIAkvKgogCSAqIEluZm8gYWJvdXQgTFdM b2NrIHRoZSBwcm9jZXNzIGlzIGN1cnJlbnRseSB3YWl0aW5nIGZvciwgaWYgYW55LgogCSAq CkBAIC0yNTcsNiArMjg1LDE4IEBAIHN0cnVjdCBQR1BST0MKIAkvKiBTdXBwb3J0IGZvciBj b25kaXRpb24gdmFyaWFibGVzLiAqLwogCXByb2NsaXN0X25vZGUgY3ZXYWl0TGluazsJLyog cG9zaXRpb24gaW4gQ1Ygd2FpdCBsaXN0ICovCiAKKwkvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisJ ICogTG9jayBtYW5hZ2VyIGRhdGEKKwkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisJLyoKKwkg KiBTdXBwb3J0IGZvciBsb2NrIGdyb3Vwcy4gIFVzZSBMb2NrSGFzaFBhcnRpdGlvbkxvY2tC eVByb2Mgb24gdGhlIGdyb3VwCisJICogbGVhZGVyIHRvIGdldCB0aGUgTFdMb2NrIHByb3Rl Y3RpbmcgdGhlc2UgZmllbGRzLgorCSAqLworCVBHUFJPQwkgICAqbG9ja0dyb3VwTGVhZGVy OwkvKiBsb2NrIGdyb3VwIGxlYWRlciwgaWYgSSdtIGEgbWVtYmVyICovCisJZGxpc3RfaGVh ZAlsb2NrR3JvdXBNZW1iZXJzOwkvKiBsaXN0IG9mIG1lbWJlcnMsIGlmIEknbSBhIGxlYWRl ciAqLworCWRsaXN0X25vZGUJbG9ja0dyb3VwTGluazsJLyogbXkgbWVtYmVyIGxpbmssIGlm IEknbSBhIG1lbWJlciAqLworCiAJLyogSW5mbyBhYm91dCBsb2NrIHRoZSBwcm9jZXNzIGlz IGN1cnJlbnRseSB3YWl0aW5nIGZvciwgaWYgYW55LiAqLwogCS8qIHdhaXRMb2NrIGFuZCB3 YWl0UHJvY0xvY2sgYXJlIE5VTEwgaWYgbm90IGN1cnJlbnRseSB3YWl0aW5nLiAqLwogCUxP Q0sJICAgKndhaXRMb2NrOwkJLyogTG9jayBvYmplY3Qgd2UncmUgc2xlZXBpbmcgb24gLi4u ICovCkBAIC0yNjUsMTQgKzMwNSwzMCBAQCBzdHJ1Y3QgUEdQUk9DCiAJTE9DS01PREUJd2Fp dExvY2tNb2RlOwkvKiB0eXBlIG9mIGxvY2sgd2UncmUgd2FpdGluZyBmb3IgKi8KIAlMT0NL TUFTSwloZWxkTG9ja3M7CQkvKiBiaXRtYXNrIGZvciBsb2NrIHR5cGVzIGFscmVhZHkgaGVs ZCBvbiB0aGlzCiAJCQkJCQkJCSAqIGxvY2sgb2JqZWN0IGJ5IHRoaXMgYmFja2VuZCAqLwor CiAJcGdfYXRvbWljX3VpbnQ2NCB3YWl0U3RhcnQ7IC8qIHRpbWUgYXQgd2hpY2ggd2FpdCBm b3IgbG9jayBhY3F1aXNpdGlvbgogCQkJCQkJCQkgKiBzdGFydGVkICovCiAKLQlpbnQJCQlk ZWxheUNoa3B0RmxhZ3M7CS8qIGZvciBERUxBWV9DSEtQVF8qIGZsYWdzICovCisJUHJvY1dh aXRTdGF0dXMgd2FpdFN0YXR1czsKIAotCXVpbnQ4CQlzdGF0dXNGbGFnczsJLyogdGhpcyBi YWNrZW5kJ3Mgc3RhdHVzIGZsYWdzLCBzZWUgUFJPQ18qCi0JCQkJCQkJCSAqIGFib3ZlLiBt aXJyb3JlZCBpbgotCQkJCQkJCQkgKiBQcm9jR2xvYmFsLT5zdGF0dXNGbGFnc1twZ3hhY3Rv ZmZdICovCisJLyoKKwkgKiBBbGwgUFJPQ0xPQ0sgb2JqZWN0cyBmb3IgbG9ja3MgaGVsZCBv ciBhd2FpdGVkIGJ5IHRoaXMgYmFja2VuZCBhcmUKKwkgKiBsaW5rZWQgaW50byBvbmUgb2Yg dGhlc2UgbGlzdHMsIGFjY29yZGluZyB0byB0aGUgcGFydGl0aW9uIG51bWJlciBvZgorCSAq IHRoZWlyIGxvY2suCisJICovCisJZGxpc3RfaGVhZAlteVByb2NMb2Nrc1tOVU1fTE9DS19Q QVJUSVRJT05TXTsKKworCS8qLS0gcmVjb3JkaW5nIGZhc3QtcGF0aCBsb2NrcyB0YWtlbiBi eSB0aGlzIGJhY2tlbmQuIC0tKi8KKwlMV0xvY2sJCWZwSW5mb0xvY2s7CQkvKiBwcm90ZWN0 cyBwZXItYmFja2VuZCBmYXN0LXBhdGggc3RhdGUgKi8KKwl1aW50NjQJICAgKmZwTG9ja0Jp dHM7CQkvKiBsb2NrIG1vZGVzIGhlbGQgZm9yIGVhY2ggZmFzdC1wYXRoIHNsb3QgKi8KKwlP aWQJCSAgICpmcFJlbElkOwkJLyogc2xvdHMgZm9yIHJlbCBvaWRzICovCisJYm9vbAkJZnBW WElETG9jazsJCS8qIGFyZSB3ZSBob2xkaW5nIGEgZmFzdC1wYXRoIFZYSUQgbG9jaz8gKi8K KwlMb2NhbFRyYW5zYWN0aW9uSWQgZnBMb2NhbFRyYW5zYWN0aW9uSWQ7CS8qIGx4aWQgZm9y IGZhc3QtcGF0aCBWWElECisJCQkJCQkJCQkJCQkgKiBsb2NrICovCisKKwkvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqCisJICogU3luY2hyb25vdXMgcmVwbGljYXRpb24gd2FpdGluZworCSAqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCiAKIAkvKgogCSAqIEluZm8gdG8gYWxsb3cgdXMgdG8gd2FpdCBm b3Igc3luY2hyb25vdXMgcmVwbGljYXRpb24sIGlmIG5lZWRlZC4KQEAgLTI4NCwxOCArMzQw LDEwIEBAIHN0cnVjdCBQR1BST0MKIAlpbnQJCQlzeW5jUmVwU3RhdGU7CS8qIHdhaXQgc3Rh dGUgZm9yIHN5bmMgcmVwICovCiAJZGxpc3Rfbm9kZQlzeW5jUmVwTGlua3M7CS8qIGxpc3Qg bGluayBpZiBwcm9jZXNzIGlzIGluIHN5bmNyZXAgcXVldWUgKi8KIAotCS8qCi0JICogQWxs IFBST0NMT0NLIG9iamVjdHMgZm9yIGxvY2tzIGhlbGQgb3IgYXdhaXRlZCBieSB0aGlzIGJh Y2tlbmQgYXJlCi0JICogbGlua2VkIGludG8gb25lIG9mIHRoZXNlIGxpc3RzLCBhY2NvcmRp bmcgdG8gdGhlIHBhcnRpdGlvbiBudW1iZXIgb2YKLQkgKiB0aGVpciBsb2NrLgotCSAqLwot CWRsaXN0X2hlYWQJbXlQcm9jTG9ja3NbTlVNX0xPQ0tfUEFSVElUSU9OU107Ci0KLQlYaWRD YWNoZVN0YXR1cyBzdWJ4aWRTdGF0dXM7CS8qIG1pcnJvcmVkIHdpdGgKLQkJCQkJCQkJCSAq IFByb2NHbG9iYWwtPnN1YnhpZFN0YXRlc1tpXSAqLwotCXN0cnVjdCBYaWRDYWNoZSBzdWJ4 aWRzOwkvKiBjYWNoZSBmb3Igc3VidHJhbnNhY3Rpb24gWElEcyAqLworCS8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKKwkgKiBTdXBwb3J0IGZvciBncm91cCBYSUQgY2xlYXJpbmcKKwkgKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCi0JLyogU3VwcG9ydCBmb3IgZ3JvdXAgWElEIGNsZWFyaW5nLiAq LwogCS8qIHRydWUsIGlmIG1lbWJlciBvZiBQcm9jQXJyYXkgZ3JvdXAgd2FpdGluZyBmb3Ig WElEIGNsZWFyICovCiAJYm9vbAkJcHJvY0FycmF5R3JvdXBNZW1iZXI7CiAJLyogbmV4dCBQ cm9jQXJyYXkgZ3JvdXAgbWVtYmVyIHdhaXRpbmcgZm9yIFhJRCBjbGVhciAqLwpAQCAtMzA3 LDkgKzM1NSwxMCBAQCBzdHJ1Y3QgUEdQUk9DCiAJICovCiAJVHJhbnNhY3Rpb25JZCBwcm9j QXJyYXlHcm91cE1lbWJlclhpZDsKIAotCXVpbnQzMgkJd2FpdF9ldmVudF9pbmZvOwkvKiBw cm9jJ3Mgd2FpdCBpbmZvcm1hdGlvbiAqLworCS8qKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKwkgKiBT dXBwb3J0IGZvciBncm91cCB0cmFuc2FjdGlvbiBzdGF0dXMgdXBkYXRlCisJICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KIAotCS8qIFN1cHBvcnQgZm9yIGdyb3VwIHRyYW5zYWN0aW9uIHN0YXR1 cyB1cGRhdGUuICovCiAJYm9vbAkJY2xvZ0dyb3VwTWVtYmVyOwkvKiB0cnVlLCBpZiBtZW1i ZXIgb2YgY2xvZyBncm91cCAqLwogCXBnX2F0b21pY191aW50MzIgY2xvZ0dyb3VwTmV4dDsg LyogbmV4dCBjbG9nIGdyb3VwIG1lbWJlciAqLwogCVRyYW5zYWN0aW9uSWQgY2xvZ0dyb3Vw TWVtYmVyWGlkOwkvKiB0cmFuc2FjdGlvbiBpZCBvZiBjbG9nIGdyb3VwIG1lbWJlciAqLwpA QCAtMzIwLDI0ICszNjksMTIgQEAgc3RydWN0IFBHUFJPQwogCVhMb2dSZWNQdHIJY2xvZ0dy b3VwTWVtYmVyTHNuOyAvKiBXQUwgbG9jYXRpb24gb2YgY29tbWl0IHJlY29yZCBmb3IgY2xv ZwogCQkJCQkJCQkJICogZ3JvdXAgbWVtYmVyICovCiAKLQkvKiBMb2NrIG1hbmFnZXIgZGF0 YSwgcmVjb3JkaW5nIGZhc3QtcGF0aCBsb2NrcyB0YWtlbiBieSB0aGlzIGJhY2tlbmQuICov Ci0JTFdMb2NrCQlmcEluZm9Mb2NrOwkJLyogcHJvdGVjdHMgcGVyLWJhY2tlbmQgZmFzdC1w YXRoIHN0YXRlICovCi0JdWludDY0CSAgICpmcExvY2tCaXRzOwkJLyogbG9jayBtb2RlcyBo ZWxkIGZvciBlYWNoIGZhc3QtcGF0aCBzbG90ICovCi0JT2lkCQkgICAqZnBSZWxJZDsJCS8q IHNsb3RzIGZvciByZWwgb2lkcyAqLwotCWJvb2wJCWZwVlhJRExvY2s7CQkvKiBhcmUgd2Ug aG9sZGluZyBhIGZhc3QtcGF0aCBWWElEIGxvY2s/ICovCi0JTG9jYWxUcmFuc2FjdGlvbklk IGZwTG9jYWxUcmFuc2FjdGlvbklkOwkvKiBseGlkIGZvciBmYXN0LXBhdGggVlhJRAotCQkJ CQkJCQkJCQkJICogbG9jayAqLworCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKwkgKiBTdGF0dXMg cmVwb3J0aW5nCisJICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotCS8qCi0JICogU3VwcG9ydCBm b3IgbG9jayBncm91cHMuICBVc2UgTG9ja0hhc2hQYXJ0aXRpb25Mb2NrQnlQcm9jIG9uIHRo ZSBncm91cAotCSAqIGxlYWRlciB0byBnZXQgdGhlIExXTG9jayBwcm90ZWN0aW5nIHRoZXNl IGZpZWxkcy4KLQkgKi8KLQlQR1BST0MJICAgKmxvY2tHcm91cExlYWRlcjsJLyogbG9jayBn cm91cCBsZWFkZXIsIGlmIEknbSBhIG1lbWJlciAqLwotCWRsaXN0X2hlYWQJbG9ja0dyb3Vw TWVtYmVyczsJLyogbGlzdCBvZiBtZW1iZXJzLCBpZiBJJ20gYSBsZWFkZXIgKi8KLQlkbGlz dF9ub2RlCWxvY2tHcm91cExpbms7CS8qIG15IG1lbWJlciBsaW5rLCBpZiBJJ20gYSBtZW1i ZXIgKi8KLX07Ci0KLS8qIE5PVEU6ICJ0eXBlZGVmIHN0cnVjdCBQR1BST0MgUEdQUk9DIiBh cHBlYXJzIGluIHN0b3JhZ2UvbG9jay5oLiAqLworCXVpbnQzMgkJd2FpdF9ldmVudF9pbmZv OwkvKiBwcm9jJ3Mgd2FpdCBpbmZvcm1hdGlvbiAqLworfSBQR1BST0M7CiAKIAogZXh0ZXJu IFBHRExMSU1QT1JUIFBHUFJPQyAqTXlQcm9jOwotLSAKMi40Ny4zCgo= --------------pDqoFkkI0UWLX3GrALSn6wi8 Content-Type: text/x-patch; charset=UTF-8; name="v2-0002-Align-PGPROC-to-cache-line-boundary.patch" Content-Disposition: attachment; filename="v2-0002-Align-PGPROC-to-cache-line-boundary.patch" Content-Transfer-Encoding: base64 RnJvbSBjZTEyMTg5MjlmMmUxNDEwNmMwYzExNjBiZmE5NDFmZmUwYjZiNzQ1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWlra2kgTGlubmFrYW5nYXMgPGhlaWtraS5saW5u YWthbmdhc0Bpa2kuZmk+CkRhdGU6IEZyaSwgMjAgRmViIDIwMjYgMjI6NTg6NDAgKzAyMDAK U3ViamVjdDogW1BBVENIIHYyIDIvMl0gQWxpZ24gUEdQUk9DIHRvIGNhY2hlIGxpbmUgYm91 bmRhcnkKCk9uIGNvbW1vbiBhcmNoaXRlY3R1cmVzLCB0aGUgUEdQUk9DIGhhcHBlbmVkIHRv IGJlIGEgbXVsdGlwbGUgb2YgNjQKYnl0ZXMgb24gUEcgMTgsIGJ1dCBpdCdzIGNoYW5nZWQg b24gJ21hc3Rlcicgc2luY2UuIFRoZXJlIHdhcyB3b3JyeQp0aGF0IGNoYW5naW5nIHRoZSBh bGlnbm1lbnQgbWlnaHQgaHVydCBwZXJmb3JtYW5jZSwgZHVlIHRvIGZhbHNlCmNhY2hlbGlu ZSBzaGFyaW5nIGFjcm9zcyBQR1BST0MgZWxlbWVudHMuIEhvd2V2ZXIsIHRoZXJlIHdhcyBu bwpleHBsaWNpdCBhbGlnbm1lbnQsIHNvIGFueSBhbGlnbm1lbnQgdG8gY2FjaGUgbGluZXMg d2FzCmFjY2lkZW50YWwuIEFkZCBleHBsaWNpdCBhbGlnbm1lbnQgdG8gcmVtb3ZlIHdvcnJ5 IGFib3V0IGZhbHNlCnNoYXJpbmcuCgpSZXZpZXdlZC1ieTogQmVydHJhbmQgRHJvdXZvdCA8 YmVydHJhbmRkcm91dm90LnBnQGdtYWlsLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly93d3cu cG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC8zZGQ2ZjcwYy1iOTRkLTQ0MjgtOGU3NS03NGE3 MTM2Mzk2YmVAaWtpLmZpCi0tLQogc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jLmggfCAxMCAr KysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jLmggYi9zcmMvaW5j bHVkZS9zdG9yYWdlL3Byb2MuaAppbmRleCBiMmZkNGQwMjk1OS4uYThkMmU3ZGIxYTEgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvYy5oCisrKyBiL3NyYy9pbmNsdWRl L3N0b3JhZ2UvcHJvYy5oCkBAIC0zNzQsOCArMzc0LDE2IEBAIHR5cGVkZWYgc3RydWN0IFBH UFJPQwogCSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIAl1aW50MzIJCXdhaXRfZXZlbnRfaW5m bzsJLyogcHJvYydzIHdhaXQgaW5mb3JtYXRpb24gKi8KLX0gUEdQUk9DOworfQogCisvKgor ICogSWYgY29tcGlsZXIgdW5kZXJzdGFuZHMgYWxpZ25lZCBwcmFnbWEsIHVzZSBpdCB0byBh bGlnbiB0aGUgc3RydWN0IGF0IGNhY2hlCisgKiBsaW5lIGJvdW5kYXJpZXMuICBUaGlzIGlz IGp1c3QgZm9yIHBlcmZvcm1hbmNlLCB0byBhdm9pZCBmYWxzZSBzaGFyaW5nLgorICovCisj aWYgZGVmaW5lZChwZ19hdHRyaWJ1dGVfYWxpZ25lZCkKKwkJCXBnX2F0dHJpYnV0ZV9hbGln bmVkKFBHX0NBQ0hFX0xJTkVfU0laRSkKKyNlbmRpZgorUEdQUk9DOwogCiBleHRlcm4gUEdE TExJTVBPUlQgUEdQUk9DICpNeVByb2M7CiAKLS0gCjIuNDcuMwoK --------------pDqoFkkI0UWLX3GrALSn6wi8--