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 1pzAfW-0007nZ-LW for pgsql-hackers@arkaria.postgresql.org; Wed, 17 May 2023 06:29:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pzAfV-0000pR-5R for pgsql-hackers@arkaria.postgresql.org; Wed, 17 May 2023 06:29:49 +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 1pzAfU-0000pI-Pv for pgsql-hackers@lists.postgresql.org; Wed, 17 May 2023 06:29:48 +0000 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1pzAfQ-000IKB-UN for pgsql-hackers@lists.postgresql.org; Wed, 17 May 2023 06:29:48 +0000 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-3f42c86543bso2111865e9.3 for ; Tue, 16 May 2023 23:29:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684304984; x=1686896984; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=xCcwbfIMm0pHroslUcE+f/h2kF1wxYWpZvLUNEjZt0c=; b=rNtmiQOvNOnQ2vHnMZivq2wgBwXRZuGaNosSf9G4kys0exWm3twLAzRliy+4fVzNwt iKRhqUZ36eKe9dlDc6ZYLU9nUHcdUT+46loA/N22tFPOJtNGD6eg4a/GGiq0ZADrsDw+ pAjX9Y9n34QwisTpnL/K1OAqHtYOHrwrZRKvysGeLxHKyxgMC6Md+eNTKkgvMbHdRU32 bZyvBWimkydSE/920Xj6bpJ3ByFru/5522igbayCJS9F1b0+bXErVe0rGm91pVOZJ9Th 1fy0It26mWH7n6tD+kqbRGqYi+H0nh0QYa6z/pHvsjLd4VFn+4eyZ6G0TpQDotarD/dM sTyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684304984; x=1686896984; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=xCcwbfIMm0pHroslUcE+f/h2kF1wxYWpZvLUNEjZt0c=; b=OK8XED4O8g3YpcV9ZH/kD9RmYre5IB9WMI7VF3YMh/hqtz7x6wU3oZe39Qwn94Pm5t lamNGYEunbutsvRdzj2UcPcsUG/jbqQCjRO+15g7cJCh9SJMUwLHpD45Y2hSkvKVwURt s2pw17sKh7CFwua2DfY4GQFcWpSVfJ6NSCN3G3gPzw63WHK/r407BVDJ/Ams8JNFbEab SlpiJzVwU/smaWf1n/kL9dqNndGErjlyTeeRpITBofy6V+Kf6YNfp8duDv7MV3rVD+53 IezAIpr2aoFj7fHnPUcIhF7cDNbEZl1VuHKVcP8fwJ3mZUIsTY6jYH3h54h6BNY3bTeA Zw/w== X-Gm-Message-State: AC+VfDymgugLs9yndMSGBcSiAT3g86lAGgkoh4JGDB1qg3612mASUgSc ux21OHS9fcX9ebqjwM0OGVU= X-Google-Smtp-Source: ACHHUZ6/ZYJ28fq0fsa6CqTEOKR1AoWi5/02zCYXpJxe1wEl6Dhfx4d6bVqPxJNcjBf6jSf9DfYAHQ== X-Received: by 2002:a05:600c:2119:b0:3f4:2c71:b9b1 with SMTP id u25-20020a05600c211900b003f42c71b9b1mr19197772wml.24.1684304984210; Tue, 16 May 2023 23:29:44 -0700 (PDT) Received: from [192.168.20.46] ([54.239.6.188]) by smtp.gmail.com with ESMTPSA id n17-20020a5d6611000000b003079c402762sm1715550wru.19.2023.05.16.23.29.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 May 2023 23:29:43 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------IAHNCyRQkc4NyPcl6gBeZ1YC" Message-ID: Date: Wed, 17 May 2023 08:29:42 +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 Subject: Re: Introduce WAIT_EVENT_EXTENSION and WAIT_EVENT_BUFFER_PIN Content-Language: en-US To: Michael Paquier Cc: PostgreSQL Hackers References: From: "Drouvot, Bertrand" 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. --------------IAHNCyRQkc4NyPcl6gBeZ1YC Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 5/16/23 8:16 AM, Michael Paquier wrote: > On Mon, May 15, 2023 at 10:07:04AM +0200, Drouvot, Bertrand wrote: >> 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. > > I have looked at this one, and I think that's OK for what you are > aiming at here (in addition to my previous message that I hope > provides enough context about the whys and the hows). Thanks! Please find V2 attached, it adds WaitEventBufferPin and WaitEventExtension to src/tools/pgindent/typedefs.list (that was done in [1]...). [1]: https://www.postgresql.org/message-id/flat/77a86b3a-c4a8-5f5d-69b9-d70bbf2e9b98%40gmail.com Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------IAHNCyRQkc4NyPcl6gBeZ1YC Content-Type: text/plain; charset=UTF-8; name="v2-0001-Introducing-WAIT_EVENT_EXTENSION-and-WAIT_EVENT_B.patch" Content-Disposition: attachment; filename*0="v2-0001-Introducing-WAIT_EVENT_EXTENSION-and-WAIT_EVENT_B.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA0YzljYTEzODliMGFhOWY3ZWFlMzRjM2I3MmYxNWRiYzdkYTM5NzgzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBTYXQsIDEzIE1heSAyMDIzIDA3OjU5OjA4ICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2Ml0gSW50cm9kdWNpbmcgV0FJVF9FVkVOVF9FWFRFTlNJT04g YW5kIFdBSVRfRVZFTlRfQlVGRkVSX1BJTgoKLS0tCiBjb250cmliL2RibGluay9kYmxpbmsu YyAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGNvbnRyaWIvcGdfcHJld2FybS9hdXRvcHJl d2FybS5jICAgICAgICAgfCAgNCArLQogY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlv bi5jICAgICAgICB8ICA2ICstLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdy LmMgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zdGFuZGJ5LmMgICAg ICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyAg fCA2NiArKysrKysrKysrKysrKysrKysrKystLS0KIHNyYy9pbmNsdWRlL3V0aWxzL3dhaXRf ZXZlbnQuaCAgICAgICAgICAgfCAyMCArKysrKystCiBzcmMvdGVzdC9tb2R1bGVzL3Rlc3Rf c2htX21xL3NldHVwLmMgICAgIHwgIDIgKy0KIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9zaG1f bXEvdGVzdC5jICAgICAgfCAgMiArLQogc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3dv cmtlcl9zcGkuYyB8ICAyICstCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAg ICAgICAgIHwgIDIgKwogMTEgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMTkg ZGVsZXRpb25zKC0pCiAgIDguOCUgY29udHJpYi9kYmxpbmsvCiAgIDQuNiUgY29udHJpYi9w Z19wcmV3YXJtLwogICA5LjMlIGNvbnRyaWIvcG9zdGdyZXNfZmR3LwogICAzLjQlIHNyYy9i YWNrZW5kL3N0b3JhZ2UvYnVmZmVyLwogICAzLjIlIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBj LwogIDQ3LjklIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5LwogIDE0LjIlIHNyYy9pbmNs dWRlL3V0aWxzLwogICA0LjUlIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9zaG1fbXEvCiAgIDMu NyUgc3JjLwoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvZGJsaW5rL2RibGluay5jIGIvY29udHJp Yi9kYmxpbmsvZGJsaW5rLmMKaW5kZXggNTVmNzVlZmYzNi4uZjE2N2NiNzFkNCAxMDA2NDQK LS0tIGEvY29udHJpYi9kYmxpbmsvZGJsaW5rLmMKKysrIGIvY29udHJpYi9kYmxpbmsvZGJs aW5rLmMKQEAgLTIwMyw3ICsyMDMsNyBAQCBkYmxpbmtfZ2V0X2Nvbm4oY2hhciAqY29ubmFt ZV9vcl9zdHIsCiAJCWRibGlua19jb25uc3RyX2NoZWNrKGNvbm5zdHIpOwogCiAJCS8qIE9L IHRvIG1ha2UgY29ubmVjdGlvbiAqLwotCQljb25uID0gbGlicHFzcnZfY29ubmVjdChjb25u c3RyLCBQR19XQUlUX0VYVEVOU0lPTik7CisJCWNvbm4gPSBsaWJwcXNydl9jb25uZWN0KGNv bm5zdHIsIFdBSVRfRVZFTlRfRVhURU5TSU9OKTsKIAogCQlpZiAoUFFzdGF0dXMoY29ubikg PT0gQ09OTkVDVElPTl9CQUQpCiAJCXsKQEAgLTI5Myw3ICsyOTMsNyBAQCBkYmxpbmtfY29u bmVjdChQR19GVU5DVElPTl9BUkdTKQogCWRibGlua19jb25uc3RyX2NoZWNrKGNvbm5zdHIp OwogCiAJLyogT0sgdG8gbWFrZSBjb25uZWN0aW9uICovCi0JY29ubiA9IGxpYnBxc3J2X2Nv bm5lY3QoY29ubnN0ciwgUEdfV0FJVF9FWFRFTlNJT04pOworCWNvbm4gPSBsaWJwcXNydl9j b25uZWN0KGNvbm5zdHIsIFdBSVRfRVZFTlRfRVhURU5TSU9OKTsKIAogCWlmIChQUXN0YXR1 cyhjb25uKSA9PSBDT05ORUNUSU9OX0JBRCkKIAl7CmRpZmYgLS1naXQgYS9jb250cmliL3Bn X3ByZXdhcm0vYXV0b3ByZXdhcm0uYyBiL2NvbnRyaWIvcGdfcHJld2FybS9hdXRvcHJld2Fy bS5jCmluZGV4IDkzODM1NDQ5YzAuLmQwZWZjOWU1MjQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIv cGdfcHJld2FybS9hdXRvcHJld2FybS5jCisrKyBiL2NvbnRyaWIvcGdfcHJld2FybS9hdXRv cHJld2FybS5jCkBAIC0yMzcsNyArMjM3LDcgQEAgYXV0b3ByZXdhcm1fbWFpbihEYXR1bSBt YWluX2FyZykKIAkJCSh2b2lkKSBXYWl0TGF0Y2goTXlMYXRjaCwKIAkJCQkJCQkgV0xfTEFU Q0hfU0VUIHwgV0xfRVhJVF9PTl9QTV9ERUFUSCwKIAkJCQkJCQkgLTFMLAotCQkJCQkJCSBQ R19XQUlUX0VYVEVOU0lPTik7CisJCQkJCQkJIFdBSVRfRVZFTlRfRVhURU5TSU9OKTsKIAkJ fQogCQllbHNlCiAJCXsKQEAgLTI2NCw3ICsyNjQsNyBAQCBhdXRvcHJld2FybV9tYWluKERh dHVtIG1haW5fYXJnKQogCQkJKHZvaWQpIFdhaXRMYXRjaChNeUxhdGNoLAogCQkJCQkJCSBX TF9MQVRDSF9TRVQgfCBXTF9USU1FT1VUIHwgV0xfRVhJVF9PTl9QTV9ERUFUSCwKIAkJCQkJ CQkgZGVsYXlfaW5fbXMsCi0JCQkJCQkJIFBHX1dBSVRfRVhURU5TSU9OKTsKKwkJCQkJCQkg V0FJVF9FVkVOVF9FWFRFTlNJT04pOwogCQl9CiAKIAkJLyogUmVzZXQgdGhlIGxhdGNoLCBs b29wLiAqLwpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5j IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5jCmluZGV4IGRhMzJkNTAzYmMu LjI1ZDBjNDNiNjQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rp b24uYworKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9jb25uZWN0aW9uLmMKQEAgLTUzMCw3 ICs1MzAsNyBAQCBjb25uZWN0X3BnX3NlcnZlcihGb3JlaWduU2VydmVyICpzZXJ2ZXIsIFVz ZXJNYXBwaW5nICp1c2VyKQogCQkvKiBPSyB0byBtYWtlIGNvbm5lY3Rpb24gKi8KIAkJY29u biA9IGxpYnBxc3J2X2Nvbm5lY3RfcGFyYW1zKGtleXdvcmRzLCB2YWx1ZXMsCiAJCQkJCQkJ CQkgICBmYWxzZSwJLyogZXhwYW5kX2RibmFtZSAqLwotCQkJCQkJCQkJICAgUEdfV0FJVF9F WFRFTlNJT04pOworCQkJCQkJCQkJICAgV0FJVF9FVkVOVF9FWFRFTlNJT04pOwogCiAJCWlm ICghY29ubiB8fCBQUXN0YXR1cyhjb25uKSAhPSBDT05ORUNUSU9OX09LKQogCQkJZXJlcG9y dChFUlJPUiwKQEAgLTg2Myw3ICs4NjMsNyBAQCBwZ2Zkd19nZXRfcmVzdWx0KFBHY29ubiAq Y29ubiwgY29uc3QgY2hhciAqcXVlcnkpCiAJCQkJCQkJCQkgICBXTF9MQVRDSF9TRVQgfCBX TF9TT0NLRVRfUkVBREFCTEUgfAogCQkJCQkJCQkJICAgV0xfRVhJVF9PTl9QTV9ERUFUSCwK IAkJCQkJCQkJCSAgIFBRc29ja2V0KGNvbm4pLAotCQkJCQkJCQkJICAgLTFMLCBQR19XQUlU X0VYVEVOU0lPTik7CisJCQkJCQkJCQkgICAtMUwsIFdBSVRfRVZFTlRfRVhURU5TSU9OKTsK IAkJCQlSZXNldExhdGNoKE15TGF0Y2gpOwogCiAJCQkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMo KTsKQEAgLTE1NjcsNyArMTU2Nyw3IEBAIHBnZmR3X2dldF9jbGVhbnVwX3Jlc3VsdChQR2Nv bm4gKmNvbm4sIFRpbWVzdGFtcFR6IGVuZHRpbWUsIFBHcmVzdWx0ICoqcmVzdWx0LAogCQkJ CQkJCQkJICAgV0xfTEFUQ0hfU0VUIHwgV0xfU09DS0VUX1JFQURBQkxFIHwKIAkJCQkJCQkJ CSAgIFdMX1RJTUVPVVQgfCBXTF9FWElUX09OX1BNX0RFQVRILAogCQkJCQkJCQkJICAgUFFz b2NrZXQoY29ubiksCi0JCQkJCQkJCQkgICBjdXJfdGltZW91dCwgUEdfV0FJVF9FWFRFTlNJ T04pOworCQkJCQkJCQkJICAgY3VyX3RpbWVvdXQsIFdBSVRfRVZFTlRfRVhURU5TSU9OKTsK IAkJCQlSZXNldExhdGNoKE15TGF0Y2gpOwogCiAJCQkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMo KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jIGIv c3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKaW5kZXggMWZhNjg5MDUyZS4u YzdjMTc4MjQ2MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVm bWdyLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKQEAgLTQ4 OTUsNyArNDg5NSw3IEBAIExvY2tCdWZmZXJGb3JDbGVhbnVwKEJ1ZmZlciBidWZmZXIpCiAJ CQlTZXRTdGFydHVwQnVmZmVyUGluV2FpdEJ1ZklkKC0xKTsKIAkJfQogCQllbHNlCi0JCQlQ cm9jV2FpdEZvclNpZ25hbChQR19XQUlUX0JVRkZFUl9QSU4pOworCQkJUHJvY1dhaXRGb3JT aWduYWwoV0FJVF9FVkVOVF9CVUZGRVJfUElOKTsKIAogCQkvKgogCQkgKiBSZW1vdmUgZmxh ZyBtYXJraW5nIHVzIGFzIHdhaXRlci4gTm9ybWFsbHkgdGhpcyB3aWxsIG5vdCBiZSBzZXQK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYyBiL3NyYy9i YWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYwppbmRleCBmZmU1ZTE1NjNmLi4zMzE4OGY4 MjllIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zdGFuZGJ5LmMKKysr IGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jCkBAIC04NDAsNyArODQwLDcg QEAgUmVzb2x2ZVJlY292ZXJ5Q29uZmxpY3RXaXRoQnVmZmVyUGluKHZvaWQpCiAJICogU0lH SFVQIHNpZ25hbCBoYW5kbGVyLCBldGMgY2Fubm90IGRvIHRoYXQgYmVjYXVzZSBpdCB1c2Vz IHRoZSBkaWZmZXJlbnQKIAkgKiBsYXRjaCBmcm9tIHRoYXQgUHJvY1dhaXRGb3JTaWduYWwo KSB3YWl0cyBvbi4KIAkgKi8KLQlQcm9jV2FpdEZvclNpZ25hbChQR19XQUlUX0JVRkZFUl9Q SU4pOworCVByb2NXYWl0Rm9yU2lnbmFsKFdBSVRfRVZFTlRfQlVGRkVSX1BJTik7CiAKIAlp ZiAoZ290X3N0YW5kYnlfZGVsYXlfdGltZW91dCkKIAkJU2VuZFJlY292ZXJ5Q29uZmxpY3RX aXRoQnVmZmVyUGluKFBST0NTSUdfUkVDT1ZFUllfQ09ORkxJQ1RfQlVGRkVSUElOKTsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYwppbmRleCA3OTQwZDY0NjM5 Li44NTcyY2YxNjllIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93 YWl0X2V2ZW50LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVu dC5jCkBAIC0yOCw3ICsyOCw5IEBACiAKIAogc3RhdGljIGNvbnN0IGNoYXIgKnBnc3RhdF9n ZXRfd2FpdF9hY3Rpdml0eShXYWl0RXZlbnRBY3Rpdml0eSB3KTsKK3N0YXRpYyBjb25zdCBj aGFyICpwZ3N0YXRfZ2V0X3dhaXRfYnVmZmVycGluKFdhaXRFdmVudEJ1ZmZlclBpbiB3KTsK IHN0YXRpYyBjb25zdCBjaGFyICpwZ3N0YXRfZ2V0X3dhaXRfY2xpZW50KFdhaXRFdmVudENs aWVudCB3KTsKK3N0YXRpYyBjb25zdCBjaGFyICpwZ3N0YXRfZ2V0X3dhaXRfZXh0ZW5zaW9u KFdhaXRFdmVudEV4dGVuc2lvbiB3KTsKIHN0YXRpYyBjb25zdCBjaGFyICpwZ3N0YXRfZ2V0 X3dhaXRfaXBjKFdhaXRFdmVudElQQyB3KTsKIHN0YXRpYyBjb25zdCBjaGFyICpwZ3N0YXRf Z2V0X3dhaXRfdGltZW91dChXYWl0RXZlbnRUaW1lb3V0IHcpOwogc3RhdGljIGNvbnN0IGNo YXIgKnBnc3RhdF9nZXRfd2FpdF9pbyhXYWl0RXZlbnRJTyB3KTsKQEAgLTkwLDcgKzkyLDcg QEAgcGdzdGF0X2dldF93YWl0X2V2ZW50X3R5cGUodWludDMyIHdhaXRfZXZlbnRfaW5mbykK IAkJY2FzZSBQR19XQUlUX0xPQ0s6CiAJCQlldmVudF90eXBlID0gIkxvY2siOwogCQkJYnJl YWs7Ci0JCWNhc2UgUEdfV0FJVF9CVUZGRVJfUElOOgorCQljYXNlIFBHX1dBSVRfQlVGRkVS UElOOgogCQkJZXZlbnRfdHlwZSA9ICJCdWZmZXJQaW4iOwogCQkJYnJlYWs7CiAJCWNhc2Ug UEdfV0FJVF9BQ1RJVklUWToKQEAgLTE0Nyw5ICsxNDksMTMgQEAgcGdzdGF0X2dldF93YWl0 X2V2ZW50KHVpbnQzMiB3YWl0X2V2ZW50X2luZm8pCiAJCWNhc2UgUEdfV0FJVF9MT0NLOgog CQkJZXZlbnRfbmFtZSA9IEdldExvY2tOYW1lRnJvbVRhZ1R5cGUoZXZlbnRJZCk7CiAJCQli cmVhazsKLQkJY2FzZSBQR19XQUlUX0JVRkZFUl9QSU46Ci0JCQlldmVudF9uYW1lID0gIkJ1 ZmZlclBpbiI7Ci0JCQlicmVhazsKKwkJY2FzZSBQR19XQUlUX0JVRkZFUlBJTjoKKwkJCXsK KwkJCQlXYWl0RXZlbnRCdWZmZXJQaW4gdyA9IChXYWl0RXZlbnRCdWZmZXJQaW4pIHdhaXRf ZXZlbnRfaW5mbzsKKworCQkJCWV2ZW50X25hbWUgPSBwZ3N0YXRfZ2V0X3dhaXRfYnVmZmVy cGluKHcpOworCQkJCWJyZWFrOworCQkJfQogCQljYXNlIFBHX1dBSVRfQUNUSVZJVFk6CiAJ CQl7CiAJCQkJV2FpdEV2ZW50QWN0aXZpdHkgdyA9IChXYWl0RXZlbnRBY3Rpdml0eSkgd2Fp dF9ldmVudF9pbmZvOwpAQCAtMTY1LDggKzE3MSwxMiBAQCBwZ3N0YXRfZ2V0X3dhaXRfZXZl bnQodWludDMyIHdhaXRfZXZlbnRfaW5mbykKIAkJCQlicmVhazsKIAkJCX0KIAkJY2FzZSBQ R19XQUlUX0VYVEVOU0lPTjoKLQkJCWV2ZW50X25hbWUgPSAiRXh0ZW5zaW9uIjsKLQkJCWJy ZWFrOworCQkJeworCQkJCVdhaXRFdmVudEV4dGVuc2lvbiB3ID0gKFdhaXRFdmVudEV4dGVu c2lvbikgd2FpdF9ldmVudF9pbmZvOworCisJCQkJZXZlbnRfbmFtZSA9IHBnc3RhdF9nZXRf d2FpdF9leHRlbnNpb24odyk7CisJCQkJYnJlYWs7CisJCQl9CiAJCWNhc2UgUEdfV0FJVF9J UEM6CiAJCQl7CiAJCQkJV2FpdEV2ZW50SVBDIHcgPSAoV2FpdEV2ZW50SVBDKSB3YWl0X2V2 ZW50X2luZm87CkBAIC0yNTQsNiArMjY0LDI4IEBAIHBnc3RhdF9nZXRfd2FpdF9hY3Rpdml0 eShXYWl0RXZlbnRBY3Rpdml0eSB3KQogCXJldHVybiBldmVudF9uYW1lOwogfQogCisvKiAt LS0tLS0tLS0tCisgKiBwZ3N0YXRfZ2V0X3dhaXRfYnVmZmVycGluKCkgLQorICoKKyAqIENv bnZlcnQgV2FpdEV2ZW50QnVmZmVyUGluIHRvIHN0cmluZy4KKyAqIC0tLS0tLS0tLS0KKyAq Lworc3RhdGljIGNvbnN0IGNoYXIgKgorcGdzdGF0X2dldF93YWl0X2J1ZmZlcnBpbihXYWl0 RXZlbnRCdWZmZXJQaW4gdykKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gInVua25v d24gd2FpdCBldmVudCI7CisKKwlzd2l0Y2ggKHcpCisJeworCQljYXNlIFdBSVRfRVZFTlRf QlVGRkVSX1BJTjoKKwkJCWV2ZW50X25hbWUgPSAiQnVmZmVyUGluIjsKKwkJCWJyZWFrOwor CQkJLyogbm8gZGVmYXVsdCBjYXNlLCBzbyB0aGF0IGNvbXBpbGVyIHdpbGwgd2FybiAqLwor CX0KKworCXJldHVybiBldmVudF9uYW1lOworfQorCiAvKiAtLS0tLS0tLS0tCiAgKiBwZ3N0 YXRfZ2V0X3dhaXRfY2xpZW50KCkgLQogICoKQEAgLTI5Nyw2ICszMjksMjggQEAgcGdzdGF0 X2dldF93YWl0X2NsaWVudChXYWl0RXZlbnRDbGllbnQgdykKIAlyZXR1cm4gZXZlbnRfbmFt ZTsKIH0KIAorLyogLS0tLS0tLS0tLQorICogcGdzdGF0X2dldF93YWl0X2V4dGVuc2lvbigp IC0KKyAqCisgKiBDb252ZXJ0IFdhaXRFdmVudEV4dGVuc2lvbiB0byBzdHJpbmcuCisgKiAt LS0tLS0tLS0tCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICoKK3Bnc3RhdF9nZXRfd2FpdF9l eHRlbnNpb24oV2FpdEV2ZW50RXh0ZW5zaW9uIHcpCit7CisJY29uc3QgY2hhciAqZXZlbnRf bmFtZSA9ICJ1bmtub3duIHdhaXQgZXZlbnQiOworCisJc3dpdGNoICh3KQorCXsKKwkJY2Fz ZSBXQUlUX0VWRU5UX0VYVEVOU0lPTjoKKwkJCWV2ZW50X25hbWUgPSAiRXh0ZW5zaW9uIjsK KwkJCWJyZWFrOworCQkJLyogbm8gZGVmYXVsdCBjYXNlLCBzbyB0aGF0IGNvbXBpbGVyIHdp bGwgd2FybiAqLworCX0KKworCXJldHVybiBldmVudF9uYW1lOworfQorCiAvKiAtLS0tLS0t LS0tCiAgKiBwZ3N0YXRfZ2V0X3dhaXRfaXBjKCkgLQogICoKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZl bnQuaAppbmRleCA1MThkM2IwYTFmLi5kYzAxZDRlODRkIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS91dGlscy93YWl0X2V2ZW50LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9l dmVudC5oCkBAIC0xNyw3ICsxNyw3IEBACiAgKi8KICNkZWZpbmUgUEdfV0FJVF9MV0xPQ0sJ CQkJMHgwMTAwMDAwMFUKICNkZWZpbmUgUEdfV0FJVF9MT0NLCQkJCTB4MDMwMDAwMDBVCi0j ZGVmaW5lIFBHX1dBSVRfQlVGRkVSX1BJTgkJCTB4MDQwMDAwMDBVCisjZGVmaW5lIFBHX1dB SVRfQlVGRkVSUElOCQkJMHgwNDAwMDAwMFUKICNkZWZpbmUgUEdfV0FJVF9BQ1RJVklUWQkJ CTB4MDUwMDAwMDBVCiAjZGVmaW5lIFBHX1dBSVRfQ0xJRU5UCQkJCTB4MDYwMDAwMDBVCiAj ZGVmaW5lIFBHX1dBSVRfRVhURU5TSU9OCQkJMHgwNzAwMDAwMFUKQEAgLTUwLDYgKzUwLDE1 IEBAIHR5cGVkZWYgZW51bQogCVdBSVRfRVZFTlRfV0FMX1dSSVRFUl9NQUlOCiB9IFdhaXRF dmVudEFjdGl2aXR5OwogCisvKiAtLS0tLS0tLS0tCisgKiBXYWl0IEV2ZW50cyAtIEJVRkZF UlBJTgorICogLS0tLS0tLS0tLQorICovCit0eXBlZGVmIGVudW0KK3sKKwlXQUlUX0VWRU5U X0JVRkZFUl9QSU4gPSBQR19XQUlUX0JVRkZFUlBJTgorfSBXYWl0RXZlbnRCdWZmZXJQaW47 CisKIC8qIC0tLS0tLS0tLS0KICAqIFdhaXQgRXZlbnRzIC0gQ2xpZW50CiAgKgpAQCAtNzAs NiArNzksMTUgQEAgdHlwZWRlZiBlbnVtCiAJV0FJVF9FVkVOVF9XQUxfU0VOREVSX1dSSVRF X0RBVEEsCiB9IFdhaXRFdmVudENsaWVudDsKIAorLyogLS0tLS0tLS0tLQorICogV2FpdCBF dmVudHMgLSBFWFRFTlNJT04KKyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBlbnVtCit7 CisJV0FJVF9FVkVOVF9FWFRFTlNJT04gPSBQR19XQUlUX0VYVEVOU0lPTgorfSBXYWl0RXZl bnRFeHRlbnNpb247CisKIC8qIC0tLS0tLS0tLS0KICAqIFdhaXQgRXZlbnRzIC0gSVBDCiAg KgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X3NobV9tcS9zZXR1cC5jIGIv c3JjL3Rlc3QvbW9kdWxlcy90ZXN0X3NobV9tcS9zZXR1cC5jCmluZGV4IGJlYzU3MzJlODcu LjE5MmU1Y2MyYWIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9zaG1fbXEv c2V0dXAuYworKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3Rfc2htX21xL3NldHVwLmMKQEAg LTI4MCw3ICsyODAsNyBAQCB3YWl0X2Zvcl93b3JrZXJzX3RvX2JlY29tZV9yZWFkeSh3b3Jr ZXJfc3RhdGUgKndzdGF0ZSwKIAogCQkvKiBXYWl0IHRvIGJlIHNpZ25hbGVkLiAqLwogCQko dm9pZCkgV2FpdExhdGNoKE15TGF0Y2gsIFdMX0xBVENIX1NFVCB8IFdMX0VYSVRfT05fUE1f REVBVEgsIDAsCi0JCQkJCQkgUEdfV0FJVF9FWFRFTlNJT04pOworCQkJCQkJIFdBSVRfRVZF TlRfRVhURU5TSU9OKTsKIAogCQkvKiBSZXNldCB0aGUgbGF0Y2ggc28gd2UgZG9uJ3Qgc3Bp bi4gKi8KIAkJUmVzZXRMYXRjaChNeUxhdGNoKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21v ZHVsZXMvdGVzdF9zaG1fbXEvdGVzdC5jIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X3NobV9t cS90ZXN0LmMKaW5kZXggOTA2ZTk0M2UyZC4uZDliZTcwMzM1MCAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvbW9kdWxlcy90ZXN0X3NobV9tcS90ZXN0LmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxl cy90ZXN0X3NobV9tcS90ZXN0LmMKQEAgLTIzMiw3ICsyMzIsNyBAQCB0ZXN0X3NobV9tcV9w aXBlbGluZWQoUEdfRlVOQ1RJT05fQVJHUykKIAkJCSAqIGZvciB1cyB0byBkby4KIAkJCSAq LwogCQkJKHZvaWQpIFdhaXRMYXRjaChNeUxhdGNoLCBXTF9MQVRDSF9TRVQgfCBXTF9FWElU X09OX1BNX0RFQVRILCAwLAotCQkJCQkJCSBQR19XQUlUX0VYVEVOU0lPTik7CisJCQkJCQkJ IFdBSVRfRVZFTlRfRVhURU5TSU9OKTsKIAkJCVJlc2V0TGF0Y2goTXlMYXRjaCk7CiAJCQlD SEVDS19GT1JfSU5URVJSVVBUUygpOwogCQl9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1 bGVzL3dvcmtlcl9zcGkvd29ya2VyX3NwaS5jIGIvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJf c3BpL3dvcmtlcl9zcGkuYwppbmRleCBhZDQ5MWQ3NzIyLi43MjI3Y2ZhYTQ1IDEwMDY0NAot LS0gYS9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvd29ya2VyX3NwaS5jCisrKyBiL3Ny Yy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS93b3JrZXJfc3BpLmMKQEAgLTE5OSw3ICsxOTks NyBAQCB3b3JrZXJfc3BpX21haW4oRGF0dW0gbWFpbl9hcmcpCiAJCSh2b2lkKSBXYWl0TGF0 Y2goTXlMYXRjaCwKIAkJCQkJCSBXTF9MQVRDSF9TRVQgfCBXTF9USU1FT1VUIHwgV0xfRVhJ VF9PTl9QTV9ERUFUSCwKIAkJCQkJCSB3b3JrZXJfc3BpX25hcHRpbWUgKiAxMDAwTCwKLQkJ CQkJCSBQR19XQUlUX0VYVEVOU0lPTik7CisJCQkJCQkgV0FJVF9FVkVOVF9FWFRFTlNJT04p OwogCQlSZXNldExhdGNoKE15TGF0Y2gpOwogCiAJCUNIRUNLX0ZPUl9JTlRFUlJVUFRTKCk7 CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90 b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDA2ZGE3Y2Q0MjguLmRjZTFiY2Jm ZGYgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBi L3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0yOTcyLDcgKzI5NzIsOSBA QCBXU0FORVRXT1JLRVZFTlRTCiBXU0FQUk9UT0NPTF9JTkZPCiBXYWl0RXZlbnQKIFdhaXRF dmVudEFjdGl2aXR5CitXYWl0RXZlbnRCdWZmZXJQaW4KIFdhaXRFdmVudENsaWVudAorV2Fp dEV2ZW50RXh0ZW5zaW9uCiBXYWl0RXZlbnRJTwogV2FpdEV2ZW50SVBDCiBXYWl0RXZlbnRT ZXQKLS0gCjIuMzQuMQoK --------------IAHNCyRQkc4NyPcl6gBeZ1YC--