Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pyTFq-0004NZ-Gi for pgsql-hackers@arkaria.postgresql.org; Mon, 15 May 2023 08:08:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pyTFp-0006cj-8Q for pgsql-hackers@arkaria.postgresql.org; Mon, 15 May 2023 08:08:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pyTFo-0006ca-TY for pgsql-hackers@lists.postgresql.org; Mon, 15 May 2023 08:08:24 +0000 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1pyTFm-002q1E-8S for pgsql-hackers@lists.postgresql.org; Mon, 15 May 2023 08:08:24 +0000 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3078cc99232so9129075f8f.3 for ; Mon, 15 May 2023 01:08:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684138101; x=1686730101; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=bwwFOAGi3yXEs7LvzsvDpmKVk5fgJM3Gm1wPyMAqM5A=; b=k7PdHnC7Txwd7W0qSsXXU4dYnoA14Q3jKE6osooV4hCmSktwvM/7y9+dqxrAbbZ4Ym 7wH5s+GeLGj0MrPDIeuAPl23McNM9KU1XMXfTxgVvGeQWNlb1nPtfv0jPZpAqahQVJP7 RpjeoIhjeqaBOT0P3IXy0EdhzforCCOr2CBuluEQ52iWvRVxUHFuZeAaouiD5JhnfWGg mWC9I3DLGF3F/STPEGBvt3srNR0VvuB4dbP00UKy2FpNSKp4aRP5bVUPonYTDo+LKMcR oWZ9lG9qJh0BEV+vfl+KSFe8zvoNUvxuBnF+xjnNWaq1xOaW5e4K564jp+mR/+Vyx2jh CnBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684138101; x=1686730101; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=bwwFOAGi3yXEs7LvzsvDpmKVk5fgJM3Gm1wPyMAqM5A=; b=T1S7PXO5SLkmIE7UFjMvmfuhi/zu501eL8uhZifRcXWUj3dLsaK/yvLZl0VpkmM3rz L67qybsHRIyp4P2Op3OcM3hrZzynUNM7GzKP69N8H9g7AHjbicHT7TlPUg58a7GfY0iZ Aroxjulgyo628jOvnauxKSFOr9FOdq1vP4ZQAq1ANA9J5IyL0wU00LSKZMjbpBVPOaUs btRy6rvL102NxPGT3eSdLqqmvvlpZXQPIC6EJ0cxin/pcWvvib9Po/D4Gj7o7DMQq2Q5 Pi85U0C2DvCMHcGmTyc/RK0hW6trIr61usB5y2hE3T/8EE749Ho3pxhAckyaTQ8v08GG W94A== X-Gm-Message-State: AC+VfDy+95XmpS7zWyI80VfeXzMerbfqMHF3g4O2PJgY3u751DfzQQsH R8ecdwHKNxLvosVuqLll+SZ7or2SwuOJ8A== X-Google-Smtp-Source: ACHHUZ6JRrLvPXMJu/FQNUfxwZN5jQob6SII/6LNnkliyLFLAOz9DsRAWlFq9d2qs4SCT+JNtocqJQ== X-Received: by 2002:a5d:4a91:0:b0:306:2e62:8d2e with SMTP id o17-20020a5d4a91000000b003062e628d2emr25051237wrq.1.1684138100979; Mon, 15 May 2023 01:08:20 -0700 (PDT) Received: from [192.168.5.184] ([54.239.6.186]) by smtp.gmail.com with ESMTPSA id f16-20020a5d4dd0000000b003062ad45243sm31593536wru.14.2023.05.15.01.08.19 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 May 2023 01:08:20 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------EzStP7vL3wd2gALkK8Cp30KH" Message-ID: Date: Mon, 15 May 2023 10:07:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US From: "Drouvot, Bertrand" Subject: Introduce WAIT_EVENT_EXTENSION and WAIT_EVENT_BUFFER_PIN To: PostgreSQL Hackers 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. --------------EzStP7vL3wd2gALkK8Cp30KH Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi hackers, Please find attached a patch to $SUBJECT. This is preliminary work to autogenerate some wait events code and documentation done in [1]. The patch introduces 2 new "wait events" (WAIT_EVENT_EXTENSION and WAIT_EVENT_BUFFER_PIN) and their associated functions (pgstat_get_wait_extension() and pgstat_get_wait_bufferpin() resp.) Please note that that would not break extensions outside contrib that make use of the existing PG_WAIT_EXTENSION. [1]: https://www.postgresql.org/message-id/flat/77a86b3a-c4a8-5f5d-69b9-d70bbf2e9b98@gmail.com Looking forward to your feedback, Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------EzStP7vL3wd2gALkK8Cp30KH Content-Type: text/plain; charset=UTF-8; name="v1-0001-Introducing-WAIT_EVENT_EXTENSION-and-WAIT_EVENT_B.patch" Content-Disposition: attachment; filename*0="v1-0001-Introducing-WAIT_EVENT_EXTENSION-and-WAIT_EVENT_B.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiNDhiMDE4OTA2N2I2Y2U3OTk2MzZlNDY5YTEwYjBlMjY1ZmY0NDczIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBTYXQsIDEzIE1heSAyMDIzIDA3OjU5OjA4ICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2MV0gSW50cm9kdWNpbmcgV0FJVF9FVkVOVF9FWFRFTlNJT04g YW5kIFdBSVRfRVZFTlRfQlVGRkVSX1BJTgoKLS0tCiBjb250cmliL2RibGluay9kYmxpbmsu YyAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGNvbnRyaWIvcGdfcHJld2FybS9hdXRvcHJl d2FybS5jICAgICAgICAgfCAgNCArLQogY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlv bi5jICAgICAgICB8ICA2ICstLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdy LmMgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zdGFuZGJ5LmMgICAg ICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyAg fCA2NiArKysrKysrKysrKysrKysrKysrKystLS0KIHNyYy9pbmNsdWRlL3V0aWxzL3dhaXRf ZXZlbnQuaCAgICAgICAgICAgfCAyMCArKysrKystCiBzcmMvdGVzdC9tb2R1bGVzL3Rlc3Rf c2htX21xL3NldHVwLmMgICAgIHwgIDIgKy0KIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9zaG1f bXEvdGVzdC5jICAgICAgfCAgMiArLQogc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3dv cmtlcl9zcGkuYyB8ICAyICstCiAxMCBmaWxlcyBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCsp LCAxOSBkZWxldGlvbnMoLSkKICAgOC45JSBjb250cmliL2RibGluay8KICAgNC43JSBjb250 cmliL3BnX3ByZXdhcm0vCiAgIDkuNCUgY29udHJpYi9wb3N0Z3Jlc19mZHcvCiAgIDMuNCUg c3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvCiAgIDMuMyUgc3JjL2JhY2tlbmQvc3RvcmFn ZS9pcGMvCiAgNDguNiUgc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvCiAgMTQuNCUgc3Jj L2luY2x1ZGUvdXRpbHMvCiAgIDQuNiUgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X3NobV9tcS8K CmRpZmYgLS1naXQgYS9jb250cmliL2RibGluay9kYmxpbmsuYyBiL2NvbnRyaWIvZGJsaW5r L2RibGluay5jCmluZGV4IDU1Zjc1ZWZmMzYuLmYxNjdjYjcxZDQgMTAwNjQ0Ci0tLSBhL2Nv bnRyaWIvZGJsaW5rL2RibGluay5jCisrKyBiL2NvbnRyaWIvZGJsaW5rL2RibGluay5jCkBA IC0yMDMsNyArMjAzLDcgQEAgZGJsaW5rX2dldF9jb25uKGNoYXIgKmNvbm5hbWVfb3Jfc3Ry LAogCQlkYmxpbmtfY29ubnN0cl9jaGVjayhjb25uc3RyKTsKIAogCQkvKiBPSyB0byBtYWtl IGNvbm5lY3Rpb24gKi8KLQkJY29ubiA9IGxpYnBxc3J2X2Nvbm5lY3QoY29ubnN0ciwgUEdf V0FJVF9FWFRFTlNJT04pOworCQljb25uID0gbGlicHFzcnZfY29ubmVjdChjb25uc3RyLCBX QUlUX0VWRU5UX0VYVEVOU0lPTik7CiAKIAkJaWYgKFBRc3RhdHVzKGNvbm4pID09IENPTk5F Q1RJT05fQkFEKQogCQl7CkBAIC0yOTMsNyArMjkzLDcgQEAgZGJsaW5rX2Nvbm5lY3QoUEdf RlVOQ1RJT05fQVJHUykKIAlkYmxpbmtfY29ubnN0cl9jaGVjayhjb25uc3RyKTsKIAogCS8q IE9LIHRvIG1ha2UgY29ubmVjdGlvbiAqLwotCWNvbm4gPSBsaWJwcXNydl9jb25uZWN0KGNv bm5zdHIsIFBHX1dBSVRfRVhURU5TSU9OKTsKKwljb25uID0gbGlicHFzcnZfY29ubmVjdChj b25uc3RyLCBXQUlUX0VWRU5UX0VYVEVOU0lPTik7CiAKIAlpZiAoUFFzdGF0dXMoY29ubikg PT0gQ09OTkVDVElPTl9CQUQpCiAJewpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ19wcmV3YXJt L2F1dG9wcmV3YXJtLmMgYi9jb250cmliL3BnX3ByZXdhcm0vYXV0b3ByZXdhcm0uYwppbmRl eCA5MzgzNTQ0OWMwLi5kMGVmYzllNTI0IDEwMDY0NAotLS0gYS9jb250cmliL3BnX3ByZXdh cm0vYXV0b3ByZXdhcm0uYworKysgYi9jb250cmliL3BnX3ByZXdhcm0vYXV0b3ByZXdhcm0u YwpAQCAtMjM3LDcgKzIzNyw3IEBAIGF1dG9wcmV3YXJtX21haW4oRGF0dW0gbWFpbl9hcmcp CiAJCQkodm9pZCkgV2FpdExhdGNoKE15TGF0Y2gsCiAJCQkJCQkJIFdMX0xBVENIX1NFVCB8 IFdMX0VYSVRfT05fUE1fREVBVEgsCiAJCQkJCQkJIC0xTCwKLQkJCQkJCQkgUEdfV0FJVF9F WFRFTlNJT04pOworCQkJCQkJCSBXQUlUX0VWRU5UX0VYVEVOU0lPTik7CiAJCX0KIAkJZWxz ZQogCQl7CkBAIC0yNjQsNyArMjY0LDcgQEAgYXV0b3ByZXdhcm1fbWFpbihEYXR1bSBtYWlu X2FyZykKIAkJCSh2b2lkKSBXYWl0TGF0Y2goTXlMYXRjaCwKIAkJCQkJCQkgV0xfTEFUQ0hf U0VUIHwgV0xfVElNRU9VVCB8IFdMX0VYSVRfT05fUE1fREVBVEgsCiAJCQkJCQkJIGRlbGF5 X2luX21zLAotCQkJCQkJCSBQR19XQUlUX0VYVEVOU0lPTik7CisJCQkJCQkJIFdBSVRfRVZF TlRfRVhURU5TSU9OKTsKIAkJfQogCiAJCS8qIFJlc2V0IHRoZSBsYXRjaCwgbG9vcC4gKi8K ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYyBiL2NvbnRy aWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYwppbmRleCBkYTMyZDUwM2JjLi4yNWQwYzQz YjY0IDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9jb25uZWN0aW9uLmMKKysr IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5jCkBAIC01MzAsNyArNTMwLDcg QEAgY29ubmVjdF9wZ19zZXJ2ZXIoRm9yZWlnblNlcnZlciAqc2VydmVyLCBVc2VyTWFwcGlu ZyAqdXNlcikKIAkJLyogT0sgdG8gbWFrZSBjb25uZWN0aW9uICovCiAJCWNvbm4gPSBsaWJw cXNydl9jb25uZWN0X3BhcmFtcyhrZXl3b3JkcywgdmFsdWVzLAogCQkJCQkJCQkJICAgZmFs c2UsCS8qIGV4cGFuZF9kYm5hbWUgKi8KLQkJCQkJCQkJCSAgIFBHX1dBSVRfRVhURU5TSU9O KTsKKwkJCQkJCQkJCSAgIFdBSVRfRVZFTlRfRVhURU5TSU9OKTsKIAogCQlpZiAoIWNvbm4g fHwgUFFzdGF0dXMoY29ubikgIT0gQ09OTkVDVElPTl9PSykKIAkJCWVyZXBvcnQoRVJST1Is CkBAIC04NjMsNyArODYzLDcgQEAgcGdmZHdfZ2V0X3Jlc3VsdChQR2Nvbm4gKmNvbm4sIGNv bnN0IGNoYXIgKnF1ZXJ5KQogCQkJCQkJCQkJICAgV0xfTEFUQ0hfU0VUIHwgV0xfU09DS0VU X1JFQURBQkxFIHwKIAkJCQkJCQkJCSAgIFdMX0VYSVRfT05fUE1fREVBVEgsCiAJCQkJCQkJ CQkgICBQUXNvY2tldChjb25uKSwKLQkJCQkJCQkJCSAgIC0xTCwgUEdfV0FJVF9FWFRFTlNJ T04pOworCQkJCQkJCQkJICAgLTFMLCBXQUlUX0VWRU5UX0VYVEVOU0lPTik7CiAJCQkJUmVz ZXRMYXRjaChNeUxhdGNoKTsKIAogCQkJCUNIRUNLX0ZPUl9JTlRFUlJVUFRTKCk7CkBAIC0x NTY3LDcgKzE1NjcsNyBAQCBwZ2Zkd19nZXRfY2xlYW51cF9yZXN1bHQoUEdjb25uICpjb25u LCBUaW1lc3RhbXBUeiBlbmR0aW1lLCBQR3Jlc3VsdCAqKnJlc3VsdCwKIAkJCQkJCQkJCSAg IFdMX0xBVENIX1NFVCB8IFdMX1NPQ0tFVF9SRUFEQUJMRSB8CiAJCQkJCQkJCQkgICBXTF9U SU1FT1VUIHwgV0xfRVhJVF9PTl9QTV9ERUFUSCwKIAkJCQkJCQkJCSAgIFBRc29ja2V0KGNv bm4pLAotCQkJCQkJCQkJICAgY3VyX3RpbWVvdXQsIFBHX1dBSVRfRVhURU5TSU9OKTsKKwkJ CQkJCQkJCSAgIGN1cl90aW1lb3V0LCBXQUlUX0VWRU5UX0VYVEVOU0lPTik7CiAJCQkJUmVz ZXRMYXRjaChNeUxhdGNoKTsKIAogCQkJCUNIRUNLX0ZPUl9JTlRFUlJVUFRTKCk7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYyBiL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCmluZGV4IDFmYTY4OTA1MmUuLmM3YzE3ODI0 NjEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCisr KyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCkBAIC00ODk1LDcgKzQ4 OTUsNyBAQCBMb2NrQnVmZmVyRm9yQ2xlYW51cChCdWZmZXIgYnVmZmVyKQogCQkJU2V0U3Rh cnR1cEJ1ZmZlclBpbldhaXRCdWZJZCgtMSk7CiAJCX0KIAkJZWxzZQotCQkJUHJvY1dhaXRG b3JTaWduYWwoUEdfV0FJVF9CVUZGRVJfUElOKTsKKwkJCVByb2NXYWl0Rm9yU2lnbmFsKFdB SVRfRVZFTlRfQlVGRkVSX1BJTik7CiAKIAkJLyoKIAkJICogUmVtb3ZlIGZsYWcgbWFya2lu ZyB1cyBhcyB3YWl0ZXIuIE5vcm1hbGx5IHRoaXMgd2lsbCBub3QgYmUgc2V0CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zdGFuZGJ5LmMgYi9zcmMvYmFja2VuZC9z dG9yYWdlL2lwYy9zdGFuZGJ5LmMKaW5kZXggZmZlNWUxNTYzZi4uMzMxODhmODI5ZSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jCisrKyBiL3NyYy9i YWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYwpAQCAtODQwLDcgKzg0MCw3IEBAIFJlc29s dmVSZWNvdmVyeUNvbmZsaWN0V2l0aEJ1ZmZlclBpbih2b2lkKQogCSAqIFNJR0hVUCBzaWdu YWwgaGFuZGxlciwgZXRjIGNhbm5vdCBkbyB0aGF0IGJlY2F1c2UgaXQgdXNlcyB0aGUgZGlm ZmVyZW50CiAJICogbGF0Y2ggZnJvbSB0aGF0IFByb2NXYWl0Rm9yU2lnbmFsKCkgd2FpdHMg b24uCiAJICovCi0JUHJvY1dhaXRGb3JTaWduYWwoUEdfV0FJVF9CVUZGRVJfUElOKTsKKwlQ cm9jV2FpdEZvclNpZ25hbChXQUlUX0VWRU5UX0JVRkZFUl9QSU4pOwogCiAJaWYgKGdvdF9z dGFuZGJ5X2RlbGF5X3RpbWVvdXQpCiAJCVNlbmRSZWNvdmVyeUNvbmZsaWN0V2l0aEJ1ZmZl clBpbihQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0JVRkZFUlBJTik7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMKaW5kZXggNzk0MGQ2NDYzOS4uODU3MmNm MTY5ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVu dC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYwpAQCAt MjgsNyArMjgsOSBAQAogCiAKIHN0YXRpYyBjb25zdCBjaGFyICpwZ3N0YXRfZ2V0X3dhaXRf YWN0aXZpdHkoV2FpdEV2ZW50QWN0aXZpdHkgdyk7CitzdGF0aWMgY29uc3QgY2hhciAqcGdz dGF0X2dldF93YWl0X2J1ZmZlcnBpbihXYWl0RXZlbnRCdWZmZXJQaW4gdyk7CiBzdGF0aWMg Y29uc3QgY2hhciAqcGdzdGF0X2dldF93YWl0X2NsaWVudChXYWl0RXZlbnRDbGllbnQgdyk7 CitzdGF0aWMgY29uc3QgY2hhciAqcGdzdGF0X2dldF93YWl0X2V4dGVuc2lvbihXYWl0RXZl bnRFeHRlbnNpb24gdyk7CiBzdGF0aWMgY29uc3QgY2hhciAqcGdzdGF0X2dldF93YWl0X2lw YyhXYWl0RXZlbnRJUEMgdyk7CiBzdGF0aWMgY29uc3QgY2hhciAqcGdzdGF0X2dldF93YWl0 X3RpbWVvdXQoV2FpdEV2ZW50VGltZW91dCB3KTsKIHN0YXRpYyBjb25zdCBjaGFyICpwZ3N0 YXRfZ2V0X3dhaXRfaW8oV2FpdEV2ZW50SU8gdyk7CkBAIC05MCw3ICs5Miw3IEBAIHBnc3Rh dF9nZXRfd2FpdF9ldmVudF90eXBlKHVpbnQzMiB3YWl0X2V2ZW50X2luZm8pCiAJCWNhc2Ug UEdfV0FJVF9MT0NLOgogCQkJZXZlbnRfdHlwZSA9ICJMb2NrIjsKIAkJCWJyZWFrOwotCQlj YXNlIFBHX1dBSVRfQlVGRkVSX1BJTjoKKwkJY2FzZSBQR19XQUlUX0JVRkZFUlBJTjoKIAkJ CWV2ZW50X3R5cGUgPSAiQnVmZmVyUGluIjsKIAkJCWJyZWFrOwogCQljYXNlIFBHX1dBSVRf QUNUSVZJVFk6CkBAIC0xNDcsOSArMTQ5LDEzIEBAIHBnc3RhdF9nZXRfd2FpdF9ldmVudCh1 aW50MzIgd2FpdF9ldmVudF9pbmZvKQogCQljYXNlIFBHX1dBSVRfTE9DSzoKIAkJCWV2ZW50 X25hbWUgPSBHZXRMb2NrTmFtZUZyb21UYWdUeXBlKGV2ZW50SWQpOwogCQkJYnJlYWs7Ci0J CWNhc2UgUEdfV0FJVF9CVUZGRVJfUElOOgotCQkJZXZlbnRfbmFtZSA9ICJCdWZmZXJQaW4i OwotCQkJYnJlYWs7CisJCWNhc2UgUEdfV0FJVF9CVUZGRVJQSU46CisJCQl7CisJCQkJV2Fp dEV2ZW50QnVmZmVyUGluIHcgPSAoV2FpdEV2ZW50QnVmZmVyUGluKSB3YWl0X2V2ZW50X2lu Zm87CisKKwkJCQlldmVudF9uYW1lID0gcGdzdGF0X2dldF93YWl0X2J1ZmZlcnBpbih3KTsK KwkJCQlicmVhazsKKwkJCX0KIAkJY2FzZSBQR19XQUlUX0FDVElWSVRZOgogCQkJewogCQkJ CVdhaXRFdmVudEFjdGl2aXR5IHcgPSAoV2FpdEV2ZW50QWN0aXZpdHkpIHdhaXRfZXZlbnRf aW5mbzsKQEAgLTE2NSw4ICsxNzEsMTIgQEAgcGdzdGF0X2dldF93YWl0X2V2ZW50KHVpbnQz MiB3YWl0X2V2ZW50X2luZm8pCiAJCQkJYnJlYWs7CiAJCQl9CiAJCWNhc2UgUEdfV0FJVF9F WFRFTlNJT046Ci0JCQlldmVudF9uYW1lID0gIkV4dGVuc2lvbiI7Ci0JCQlicmVhazsKKwkJ CXsKKwkJCQlXYWl0RXZlbnRFeHRlbnNpb24gdyA9IChXYWl0RXZlbnRFeHRlbnNpb24pIHdh aXRfZXZlbnRfaW5mbzsKKworCQkJCWV2ZW50X25hbWUgPSBwZ3N0YXRfZ2V0X3dhaXRfZXh0 ZW5zaW9uKHcpOworCQkJCWJyZWFrOworCQkJfQogCQljYXNlIFBHX1dBSVRfSVBDOgogCQkJ ewogCQkJCVdhaXRFdmVudElQQyB3ID0gKFdhaXRFdmVudElQQykgd2FpdF9ldmVudF9pbmZv OwpAQCAtMjU0LDYgKzI2NCwyOCBAQCBwZ3N0YXRfZ2V0X3dhaXRfYWN0aXZpdHkoV2FpdEV2 ZW50QWN0aXZpdHkgdykKIAlyZXR1cm4gZXZlbnRfbmFtZTsKIH0KIAorLyogLS0tLS0tLS0t LQorICogcGdzdGF0X2dldF93YWl0X2J1ZmZlcnBpbigpIC0KKyAqCisgKiBDb252ZXJ0IFdh aXRFdmVudEJ1ZmZlclBpbiB0byBzdHJpbmcuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRp YyBjb25zdCBjaGFyICoKK3Bnc3RhdF9nZXRfd2FpdF9idWZmZXJwaW4oV2FpdEV2ZW50QnVm ZmVyUGluIHcpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJ1bmtub3duIHdhaXQg ZXZlbnQiOworCisJc3dpdGNoICh3KQorCXsKKwkJY2FzZSBXQUlUX0VWRU5UX0JVRkZFUl9Q SU46CisJCQlldmVudF9uYW1lID0gIkJ1ZmZlclBpbiI7CisJCQlicmVhazsKKwkJCS8qIG5v IGRlZmF1bHQgY2FzZSwgc28gdGhhdCBjb21waWxlciB3aWxsIHdhcm4gKi8KKwl9CisKKwly ZXR1cm4gZXZlbnRfbmFtZTsKK30KKwogLyogLS0tLS0tLS0tLQogICogcGdzdGF0X2dldF93 YWl0X2NsaWVudCgpIC0KICAqCkBAIC0yOTcsNiArMzI5LDI4IEBAIHBnc3RhdF9nZXRfd2Fp dF9jbGllbnQoV2FpdEV2ZW50Q2xpZW50IHcpCiAJcmV0dXJuIGV2ZW50X25hbWU7CiB9CiAK Ky8qIC0tLS0tLS0tLS0KKyAqIHBnc3RhdF9nZXRfd2FpdF9leHRlbnNpb24oKSAtCisgKgor ICogQ29udmVydCBXYWl0RXZlbnRFeHRlbnNpb24gdG8gc3RyaW5nLgorICogLS0tLS0tLS0t LQorICovCitzdGF0aWMgY29uc3QgY2hhciAqCitwZ3N0YXRfZ2V0X3dhaXRfZXh0ZW5zaW9u KFdhaXRFdmVudEV4dGVuc2lvbiB3KQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAi dW5rbm93biB3YWl0IGV2ZW50IjsKKworCXN3aXRjaCAodykKKwl7CisJCWNhc2UgV0FJVF9F VkVOVF9FWFRFTlNJT046CisJCQlldmVudF9uYW1lID0gIkV4dGVuc2lvbiI7CisJCQlicmVh azsKKwkJCS8qIG5vIGRlZmF1bHQgY2FzZSwgc28gdGhhdCBjb21waWxlciB3aWxsIHdhcm4g Ki8KKwl9CisKKwlyZXR1cm4gZXZlbnRfbmFtZTsKK30KKwogLyogLS0tLS0tLS0tLQogICog cGdzdGF0X2dldF93YWl0X2lwYygpIC0KICAqCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91 dGlscy93YWl0X2V2ZW50LmggYi9zcmMvaW5jbHVkZS91dGlscy93YWl0X2V2ZW50LmgKaW5k ZXggNTE4ZDNiMGExZi4uZGMwMWQ0ZTg0ZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRp bHMvd2FpdF9ldmVudC5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaApA QCAtMTcsNyArMTcsNyBAQAogICovCiAjZGVmaW5lIFBHX1dBSVRfTFdMT0NLCQkJCTB4MDEw MDAwMDBVCiAjZGVmaW5lIFBHX1dBSVRfTE9DSwkJCQkweDAzMDAwMDAwVQotI2RlZmluZSBQ R19XQUlUX0JVRkZFUl9QSU4JCQkweDA0MDAwMDAwVQorI2RlZmluZSBQR19XQUlUX0JVRkZF UlBJTgkJCTB4MDQwMDAwMDBVCiAjZGVmaW5lIFBHX1dBSVRfQUNUSVZJVFkJCQkweDA1MDAw MDAwVQogI2RlZmluZSBQR19XQUlUX0NMSUVOVAkJCQkweDA2MDAwMDAwVQogI2RlZmluZSBQ R19XQUlUX0VYVEVOU0lPTgkJCTB4MDcwMDAwMDBVCkBAIC01MCw2ICs1MCwxNSBAQCB0eXBl ZGVmIGVudW0KIAlXQUlUX0VWRU5UX1dBTF9XUklURVJfTUFJTgogfSBXYWl0RXZlbnRBY3Rp dml0eTsKIAorLyogLS0tLS0tLS0tLQorICogV2FpdCBFdmVudHMgLSBCVUZGRVJQSU4KKyAq IC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBlbnVtCit7CisJV0FJVF9FVkVOVF9CVUZGRVJf UElOID0gUEdfV0FJVF9CVUZGRVJQSU4KK30gV2FpdEV2ZW50QnVmZmVyUGluOworCiAvKiAt LS0tLS0tLS0tCiAgKiBXYWl0IEV2ZW50cyAtIENsaWVudAogICoKQEAgLTcwLDYgKzc5LDE1 IEBAIHR5cGVkZWYgZW51bQogCVdBSVRfRVZFTlRfV0FMX1NFTkRFUl9XUklURV9EQVRBLAog fSBXYWl0RXZlbnRDbGllbnQ7CiAKKy8qIC0tLS0tLS0tLS0KKyAqIFdhaXQgRXZlbnRzIC0g RVhURU5TSU9OCisgKiAtLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgZW51bQoreworCVdBSVRf RVZFTlRfRVhURU5TSU9OID0gUEdfV0FJVF9FWFRFTlNJT04KK30gV2FpdEV2ZW50RXh0ZW5z aW9uOworCiAvKiAtLS0tLS0tLS0tCiAgKiBXYWl0IEV2ZW50cyAtIElQQwogICoKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9zaG1fbXEvc2V0dXAuYyBiL3NyYy90ZXN0 L21vZHVsZXMvdGVzdF9zaG1fbXEvc2V0dXAuYwppbmRleCBiZWM1NzMyZTg3Li4xOTJlNWNj MmFiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3Rfc2htX21xL3NldHVwLmMK KysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X3NobV9tcS9zZXR1cC5jCkBAIC0yODAsNyAr MjgwLDcgQEAgd2FpdF9mb3Jfd29ya2Vyc190b19iZWNvbWVfcmVhZHkod29ya2VyX3N0YXRl ICp3c3RhdGUsCiAKIAkJLyogV2FpdCB0byBiZSBzaWduYWxlZC4gKi8KIAkJKHZvaWQpIFdh aXRMYXRjaChNeUxhdGNoLCBXTF9MQVRDSF9TRVQgfCBXTF9FWElUX09OX1BNX0RFQVRILCAw LAotCQkJCQkJIFBHX1dBSVRfRVhURU5TSU9OKTsKKwkJCQkJCSBXQUlUX0VWRU5UX0VYVEVO U0lPTik7CiAKIAkJLyogUmVzZXQgdGhlIGxhdGNoIHNvIHdlIGRvbid0IHNwaW4uICovCiAJ CVJlc2V0TGF0Y2goTXlMYXRjaCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rl c3Rfc2htX21xL3Rlc3QuYyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9zaG1fbXEvdGVzdC5j CmluZGV4IDkwNmU5NDNlMmQuLmQ5YmU3MDMzNTAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21v ZHVsZXMvdGVzdF9zaG1fbXEvdGVzdC5jCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9z aG1fbXEvdGVzdC5jCkBAIC0yMzIsNyArMjMyLDcgQEAgdGVzdF9zaG1fbXFfcGlwZWxpbmVk KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkgKiBmb3IgdXMgdG8gZG8uCiAJCQkgKi8KIAkJCSh2 b2lkKSBXYWl0TGF0Y2goTXlMYXRjaCwgV0xfTEFUQ0hfU0VUIHwgV0xfRVhJVF9PTl9QTV9E RUFUSCwgMCwKLQkJCQkJCQkgUEdfV0FJVF9FWFRFTlNJT04pOworCQkJCQkJCSBXQUlUX0VW RU5UX0VYVEVOU0lPTik7CiAJCQlSZXNldExhdGNoKE15TGF0Y2gpOwogCQkJQ0hFQ0tfRk9S X0lOVEVSUlVQVFMoKTsKIAkJfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy93b3Jr ZXJfc3BpL3dvcmtlcl9zcGkuYyBiL3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS93b3Jr ZXJfc3BpLmMKaW5kZXggYWQ0OTFkNzcyMi4uNzIyN2NmYWE0NSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3dvcmtlcl9zcGkuYworKysgYi9zcmMvdGVzdC9t b2R1bGVzL3dvcmtlcl9zcGkvd29ya2VyX3NwaS5jCkBAIC0xOTksNyArMTk5LDcgQEAgd29y a2VyX3NwaV9tYWluKERhdHVtIG1haW5fYXJnKQogCQkodm9pZCkgV2FpdExhdGNoKE15TGF0 Y2gsCiAJCQkJCQkgV0xfTEFUQ0hfU0VUIHwgV0xfVElNRU9VVCB8IFdMX0VYSVRfT05fUE1f REVBVEgsCiAJCQkJCQkgd29ya2VyX3NwaV9uYXB0aW1lICogMTAwMEwsCi0JCQkJCQkgUEdf V0FJVF9FWFRFTlNJT04pOworCQkJCQkJIFdBSVRfRVZFTlRfRVhURU5TSU9OKTsKIAkJUmVz ZXRMYXRjaChNeUxhdGNoKTsKIAogCQlDSEVDS19GT1JfSU5URVJSVVBUUygpOwotLSAKMi4z NC4xCgo= --------------EzStP7vL3wd2gALkK8Cp30KH--