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 1mDxa0-00037H-AK for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Aug 2021 23:24:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mDxZz-0007GK-0H for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Aug 2021 23:24:11 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDxZy-0007GC-6P for pgsql-hackers@lists.postgresql.org; Wed, 11 Aug 2021 23:24:10 +0000 Received: from smtp-fw-6002.amazon.com ([52.95.49.90]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDxZr-00028G-EQ for pgsql-hackers@postgresql.org; Wed, 11 Aug 2021 23:24:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1628724243; x=1660260243; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=fDEO11I+E7Fxt97+m5qVA98S4hMbXIZElp027FJu2hQ=; b=iIp0+Ym0iWs0MrzoagEg1/BxfbQhMgIQgOBrhD2fqzRTON7htjA1FtxL eLOY+IpguglC0a/MXlhr34Z9wMwVX59nIpAh/vklUeKLCYbPR21z+s/aq Nmf1Qv7/FE+mHpB8IAd4hWiod/QzbqFdecJkqgQ2+eiSo2eP8hHQdPV65 g=; X-Amazon-filename: v3-0001-introduce-option-for-retreiving-shmem-size.patch X-IronPort-AV: E=Sophos;i="5.84,314,1620691200"; d="scan'208,223";a="131882652" Subject: Re: Estimating HugePages Requirements? Thread-Topic: Estimating HugePages Requirements? Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-1e-303d0b0e.us-east-1.amazon.com) ([10.43.8.2]) by smtp-border-fw-6002.iad6.amazon.com with ESMTP; 11 Aug 2021 23:23:55 +0000 Received: from EX13MTAUWB001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan2.iad.amazon.com [10.40.159.162]) by email-inbound-relay-1e-303d0b0e.us-east-1.amazon.com (Postfix) with ESMTPS id 8373BA2704; Wed, 11 Aug 2021 23:23:54 +0000 (UTC) Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Wed, 11 Aug 2021 23:23:53 +0000 Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13D03UWC004.ant.amazon.com (10.43.162.49) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Wed, 11 Aug 2021 23:23:53 +0000 Received: from EX13D03UWC004.ant.amazon.com ([10.43.162.49]) by EX13D03UWC004.ant.amazon.com ([10.43.162.49]) with mapi id 15.00.1497.023; Wed, 11 Aug 2021 23:23:53 +0000 From: "Bossart, Nathan" To: Andres Freund CC: Mark Dilger , Don Seiler , "pgsql-hackers@postgresql.org" Thread-Index: AQHXXVFlwPnSpTb+9Euy6igCA88w9KsLstEAgACWWACAX2qpAIAAxOqAgAJnLAA= Date: Wed, 11 Aug 2021 23:23:52 +0000 Message-ID: <0545F7B3-70C0-4DE8-8C85-EAFE6113B7EE@amazon.com> References: <73A4E25F-1039-4FC9-8E6E-0A00230BDFB8@enterprisedb.com> <92BB93C3-1AA8-4548-96F7-062C4AF09182@amazon.com> <20210810034205.r72j5uouynepj4f2@alap3.anarazel.de> In-Reply-To: <20210810034205.r72j5uouynepj4f2@alap3.anarazel.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.161.69] Content-Type: multipart/mixed; boundary="_002_0545F7B370C04DE88C85EAFE6113B7EEamazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_0545F7B370C04DE88C85EAFE6113B7EEamazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 T24gOC85LzIxLCA4OjQzIFBNLCAiQW5kcmVzIEZyZXVuZCIgPGFuZHJlc0BhbmFyYXplbC5kZT4g d3JvdGU6DQo+IEkgZG9uJ3QgbGlrZSBwdXR0aW5nIHRoaXMgaW50byBQb3N0bWFzdGVyTWFpbigp LiBFaXRoZXIgQm9vdHN0cmFwTWFpbigpDQo+IChzcGVjaWZpY2FsbHkgY2hlY2tlciBtb2RlKSBv ciBHdWNJbmZvTWFpbigpIHNlZW0gbGlrZSBiZXR0ZXIgcGxhY2VzLg0KDQpJIHRoaW5rIEJvb3Rz dHJhcE1vZGVNYWluKCkgbWFrZXMgdGhlIG1vc3Qgc2Vuc2UuICBJdCBmaXRzIGluIG5pY2VseQ0K d2l0aCB0aGUgLS1jaGVjayBsb2dpYyB0aGF0J3MgYWxyZWFkeSB0aGVyZS4gIFdpdGggdjMsIHRo ZSBmb2xsb3dpbmcNCmNvbW1hbmQgY2FuIGJlIHVzZWQgdG8gcmV0cmlldmUgdGhlIGFtb3VudCBv ZiBzaGFyZWQgbWVtb3J5IHJlcXVpcmVkLg0KDQogICAgICAgIHBvc3RncmVzIC0tb3V0cHV0LXNo bWVtIC1EIGRpcg0KDQpXaGlsZSB0ZXN0aW5nIHRoaXMgbmV3IG9wdGlvbiwgSSBub3RpY2VkIHRo YXQgeW91IGNhbiBhY2hpZXZlIHNpbWlsYXINCnJlc3VsdHMgdG9kYXkgd2l0aCB0aGUgZm9sbG93 aW5nIGNvbW1hbmQsIGFsdGhvdWdoIHRoaXMgb25lIHdpbGwNCmFjdHVhbGx5IHRyeSB0byBjcmVh dGUgdGhlIHNoYXJlZCBtZW1vcnksIHRvby4NCg0KICAgICAgICBwb3N0Z3JlcyAtLWNoZWNrIC1E IGRpciAtYyBsb2dfbWluX21lc3NhZ2VzPWRlYnVnMyAyPiA+KGdyZXAgSXBjTWVtb3J5Q3JlYXRl KQ0KDQpJTU8gdGhlIG5ldyBvcHRpb24gaXMgc3RpbGwgaGFuZHksIGJ1dCBJIGNhbiBzZWUgdGhl IGFyZ3VtZW50IHRoYXQgaXQNCm1pZ2h0IG5vdCBiZSBuZWNlc3NhcnkuDQoNCj4gVGhhdCBzZWVt cyBsaWtlIGFuIHVnbHkgQVBJIHRvIG1lLiBXaHkgZG9uJ3Qgd2Ugc3BsaXQgdGhlIHNpemUNCj4g ZGV0ZXJtaW5hdGlvbiBhbmQgc2htZW0gY3JlYXRpb24gZnVuY3Rpb25zIGludG8gdHdvPw0KDQpJ IGRpZCBpdCB0aGlzIHdheSBpbiB2My4NCg0KTmF0aGFuDQoNCg== --_002_0545F7B370C04DE88C85EAFE6113B7EEamazoncom_ Content-Type: application/octet-stream; name="v3-0001-introduce-option-for-retreiving-shmem-size.patch" Content-Description: v3-0001-introduce-option-for-retreiving-shmem-size.patch Content-Disposition: attachment; filename="v3-0001-introduce-option-for-retreiving-shmem-size.patch"; size=10346; creation-date="Wed, 11 Aug 2021 23:23:52 GMT"; modification-date="Wed, 11 Aug 2021 23:23:52 GMT" Content-ID: <28FEFBBAB57B1D4F969FF20A8E5E9AD3@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA2ZmYwMmZiYzlmNGI0NzQ1NmNjYjM2N2IyMWQyYjQ4OTg0NTYyMGNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogV2VkLCAxMSBBdWcgMjAyMSAyMjo0MzowMyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjMg MS8xXSBpbnRyb2R1Y2Ugb3B0aW9uIGZvciByZXRyZWl2aW5nIHNobWVtIHNpemUKCi0tLQogc3Jj L2JhY2tlbmQvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jIHwgIDE4ICsrKy0tCiBzcmMvYmFja2VuZC9t YWluL21haW4uYyAgICAgICAgICAgfCAgIDYgKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lw Y2kuYyAgICB8IDE0MiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogc3Jj L2luY2x1ZGUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5oIHwgICAyICstCiBzcmMvaW5jbHVkZS9zdG9y YWdlL2lwYy5oICAgICAgICAgfCAgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9u cygrKSwgNjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYm9vdHN0cmFw L2Jvb3RzdHJhcC5jIGIvc3JjL2JhY2tlbmQvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jCmluZGV4IDQ4 NjE1YzBlYmMuLmM5YjIyODRhZDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9i b290c3RyYXAuYworKysgYi9zcmMvYmFja2VuZC9ib290c3RyYXAvYm9vdHN0cmFwLmMKQEAgLTE5 OCw5ICsxOTgsMTMgQEAgQ2hlY2tlck1vZGVNYWluKHZvaWQpCiAgKgkgdGhlIGN1cnJlbnQgY29u ZmlndXJhdGlvbiwgcGFydGljdWxhcmx5IHRoZSBwYXNzZWQgaW4gb3B0aW9ucyBwZXJ0YWluaW5n CiAgKgkgdG8gc2hhcmVkIG1lbW9yeSBzaXppbmcsIG9wdGlvbnMgd29yayAob3IgYXQgbGVhc3Qg ZG8gbm90IGNhdXNlIGFuIGVycm9yCiAgKgkgdXAgdG8gc2hhcmVkIG1lbW9yeSBjcmVhdGlvbiku CisgKgorICoJIFdoZW4gb3V0cHV0X3NobWVtIGlzIHRydWUsIHN0YXJ0dXAgaXMgZG9uZSBvbmx5 IGZhciBlbm91Z2ggdG8gY2FsY3VsYXRlIHRoZQorICoJIGFtb3VudCBvZiBzaGFyZWQgbWVtb3J5 IHJlcXVpcmVkIGZvciB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLiAgVGhlIHJlc3VsdAorICoJ IG9mIHRoaXMgY2FsY3VsYXRpb24gaXMgcHJpbnRlZC4KICAqLwogdm9pZAotQm9vdHN0cmFwTW9k ZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgYm9vbCBjaGVja19vbmx5KQorQm9vdHN0cmFw TW9kZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgYm9vbCBjaGVja19vbmx5LCBib29sIG91 dHB1dF9zaG1lbSkKIHsKIAlpbnQJCQlpOwogCWNoYXIJICAgKnByb2duYW1lID0gYXJndlswXTsK QEAgLTIxNCwxMCArMjE4LDExIEBAIEJvb3RzdHJhcE1vZGVNYWluKGludCBhcmdjLCBjaGFyICph cmd2W10sIGJvb2wgY2hlY2tfb25seSkKIAkvKiBTZXQgZGVmYXVsdHMsIHRvIGJlIG92ZXJyaWRk ZW4gYnkgZXhwbGljaXQgb3B0aW9ucyBiZWxvdyAqLwogCUluaXRpYWxpemVHVUNPcHRpb25zKCk7 CiAKLQkvKiBhbiBpbml0aWFsIC0tYm9vdCBvciAtLWNoZWNrIHNob3VsZCBiZSBwcmVzZW50ICov CisJLyogYW4gaW5pdGlhbCAtLWJvb3QsIC0tY2hlY2ssIG9yIC0tb3V0cHV0LXNobWVtIHNob3Vs ZCBiZSBwcmVzZW50ICovCiAJQXNzZXJ0KGFyZ2MgPiAxCiAJCSAgICYmIChzdHJjbXAoYXJndlsx XSwgIi0tYm9vdCIpID09IDAKLQkJCSAgIHx8IHN0cmNtcChhcmd2WzFdLCAiLS1jaGVjayIpID09 IDApKTsKKwkJCSAgIHx8IHN0cmNtcChhcmd2WzFdLCAiLS1jaGVjayIpID09IDAKKwkJCSAgIHx8 IHN0cmNtcChhcmd2WzFdLCAiLS1vdXRwdXQtc2htZW0iKSA9PSAwKSk7CiAJYXJndisrOwogCWFy Z2MtLTsKIApAQCAtMzI0LDE0ICszMjksMTcgQEAgQm9vdHN0cmFwTW9kZU1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSwgYm9vbCBjaGVja19vbmx5KQogCiAJSW5pdGlhbGl6ZU1heEJhY2tlbmRz KCk7CiAKLQlDcmVhdGVTaGFyZWRNZW1vcnlBbmRTZW1hcGhvcmVzKCk7CisJaWYgKG91dHB1dF9z aG1lbSkKKwkJcHJpbnRmKCIlenUgYnl0ZXNcbiIsIENhbGN1bGF0ZVNobWVtU2l6ZShOVUxMKSk7 CisJZWxzZQorCQlDcmVhdGVTaGFyZWRNZW1vcnlBbmRTZW1hcGhvcmVzKCk7CiAKIAkvKgogCSAq IFhYWDogSXQgbWlnaHQgbWFrZSBzZW5zZSB0byBtb3ZlIHRoaXMgaW50byBpdHMgb3duIGZ1bmN0 aW9uIGF0IHNvbWUKIAkgKiBwb2ludC4gUmlnaHQgbm93IGl0IHNlZW1zIGxpa2UgaXQnZCBjYXVz ZSBtb3JlIGNvZGUgZHVwbGljYXRpb24gdGhhbgogCSAqIGl0J3Mgd29ydGguCiAJICovCi0JaWYg KGNoZWNrX29ubHkpCisJaWYgKGNoZWNrX29ubHkgfHwgb3V0cHV0X3NobWVtKQogCXsKIAkJU2V0 UHJvY2Vzc2luZ01vZGUoTm9ybWFsUHJvY2Vzc2luZyk7CiAJCUNoZWNrZXJNb2RlTWFpbigpOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbWFpbi9tYWluLmMgYi9zcmMvYmFja2VuZC9tYWluL21h aW4uYwppbmRleCAzYTJhMGQ1OThjLi5jMTQxYWUzZDFjIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9tYWluL21haW4uYworKysgYi9zcmMvYmFja2VuZC9tYWluL21haW4uYwpAQCAtMTgyLDkgKzE4 MiwxMSBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJICovCiAKIAlpZiAoYXJnYyA+ IDEgJiYgc3RyY21wKGFyZ3ZbMV0sICItLWNoZWNrIikgPT0gMCkKLQkJQm9vdHN0cmFwTW9kZU1h aW4oYXJnYywgYXJndiwgdHJ1ZSk7CisJCUJvb3RzdHJhcE1vZGVNYWluKGFyZ2MsIGFyZ3YsIHRy dWUsIGZhbHNlKTsKKwllbHNlIGlmIChhcmdjID4gMSAmJiBzdHJjbXAoYXJndlsxXSwgIi0tb3V0 cHV0LXNobWVtIikgPT0gMCkKKwkJQm9vdHN0cmFwTW9kZU1haW4oYXJnYywgYXJndiwgZmFsc2Us IHRydWUpOwogCWVsc2UgaWYgKGFyZ2MgPiAxICYmIHN0cmNtcChhcmd2WzFdLCAiLS1ib290Iikg PT0gMCkKLQkJQm9vdHN0cmFwTW9kZU1haW4oYXJnYywgYXJndiwgZmFsc2UpOworCQlCb290c3Ry YXBNb2RlTWFpbihhcmdjLCBhcmd2LCBmYWxzZSwgZmFsc2UpOwogI2lmZGVmIEVYRUNfQkFDS0VO RAogCWVsc2UgaWYgKGFyZ2MgPiAxICYmIHN0cm5jbXAoYXJndlsxXSwgIi0tZm9yayIsIDYpID09 IDApCiAJCVN1YlBvc3RtYXN0ZXJNYWluKGFyZ2MsIGFyZ3YpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5j CmluZGV4IDNlNGVjNTNhOTcuLmIyMjViMWVlNzAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0 b3JhZ2UvaXBjL2lwY2kuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9pcGNpLmMKQEAg LTc1LDYgKzc1LDg3IEBAIFJlcXVlc3RBZGRpblNobWVtU3BhY2UoU2l6ZSBzaXplKQogCXRvdGFs X2FkZGluX3JlcXVlc3QgPSBhZGRfc2l6ZSh0b3RhbF9hZGRpbl9yZXF1ZXN0LCBzaXplKTsKIH0K IAorLyoKKyAqIENhbGN1bGF0ZVNobWVtU2l6ZQorICoJCUNhbGN1bGF0ZXMgdGhlIGFtb3VudCBv ZiBzaGFyZWQgbWVtb3J5IGFuZCBudW1iZXIgb2Ygc2VtYXBob3JlcyBuZWVkZWQuCisgKgorICog SWYgbnVtX3NlbWFwaG9yZXMgaXMgbm90IE5VTEwsIGl0IHdpbGwgYmUgc2V0IHRvIHRoZSBudW1i ZXIgb2Ygc2VtYXBob3JlcworICogcmVxdWlyZWQuCisgKgorICogTm90ZSB0aGF0IHRoaXMgZnVu Y3Rpb24gZnJlZXplcyB0aGUgYWRkaXRpb25hbCBzaGFyZWQgbWVtb3J5IHJlcXVlc3Qgc2l6ZQor ICogZnJvbSBsb2FkYWJsZSBtb2R1bGVzLgorICovCitTaXplCitDYWxjdWxhdGVTaG1lbVNpemUo aW50ICpudW1fc2VtYXBob3JlcykKK3sKKwlTaXplIHNpemU7CisJaW50IG51bVNlbWFzOworCisJ LyogQ29tcHV0ZSBudW1iZXIgb2Ygc2VtYXBob3JlcyB3ZSdsbCBuZWVkICovCisJbnVtU2VtYXMg PSBQcm9jR2xvYmFsU2VtYXMoKTsKKwludW1TZW1hcyArPSBTcGlubG9ja1NlbWFzKCk7CisKKwkv KiBSZXR1cm4gdGhlIG51bWJlciBvZiBzZW1hcGhvcmVzIGlmIHJlcXVlc3RlZCBieSB0aGUgY2Fs bGVyICovCisJaWYgKG51bV9zZW1hcGhvcmVzKQorCQkqbnVtX3NlbWFwaG9yZXMgPSBudW1TZW1h czsKKworCS8qCisJICogU2l6ZSBvZiB0aGUgUG9zdGdyZXMgc2hhcmVkLW1lbW9yeSBibG9jayBp cyBlc3RpbWF0ZWQgdmlhIG1vZGVyYXRlbHktCisJICogYWNjdXJhdGUgZXN0aW1hdGVzIGZvciB0 aGUgYmlnIGhvZ3MsIHBsdXMgMTAwSyBmb3IgdGhlIHN0dWZmIHRoYXQncyB0b28KKwkgKiBzbWFs bCB0byBib3RoZXIgd2l0aCBlc3RpbWF0aW5nLgorCSAqCisJICogV2UgdGFrZSBzb21lIGNhcmUg dG8gZW5zdXJlIHRoYXQgdGhlIHRvdGFsIHNpemUgcmVxdWVzdCBkb2Vzbid0IG92ZXJmbG93CisJ ICogc2l6ZV90LiAgSWYgdGhpcyBnZXRzIHRocm91Z2gsIHdlIGRvbid0IG5lZWQgdG8gYmUgc28g Y2FyZWZ1bCBkdXJpbmcgdGhlCisJICogYWN0dWFsIGFsbG9jYXRpb24gcGhhc2UuCisJICovCisJ c2l6ZSA9IDEwMDAwMDsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgUEdTZW1hcGhvcmVTaG1lbVNp emUobnVtU2VtYXMpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgU3BpbmxvY2tTZW1hU2l6ZSgp KTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgaGFzaF9lc3RpbWF0ZV9zaXplKFNITUVNX0lOREVY X1NJWkUsCisJCQkJCQkJCQkJCSBzaXplb2YoU2htZW1JbmRleEVudCkpKTsKKwlzaXplID0gYWRk X3NpemUoc2l6ZSwgZHNtX2VzdGltYXRlX3NpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUs IEJ1ZmZlclNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgTG9ja1NobWVtU2l6 ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgUHJlZGljYXRlTG9ja1NobWVtU2l6ZSgpKTsK KwlzaXplID0gYWRkX3NpemUoc2l6ZSwgUHJvY0dsb2JhbFNobWVtU2l6ZSgpKTsKKwlzaXplID0g YWRkX3NpemUoc2l6ZSwgWExPR1NobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwg Q0xPR1NobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgQ29tbWl0VHNTaG1lbVNp emUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFNVQlRSQU5TU2htZW1TaXplKCkpOworCXNp emUgPSBhZGRfc2l6ZShzaXplLCBUd29QaGFzZVNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3Np emUoc2l6ZSwgQmFja2dyb3VuZFdvcmtlclNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUo c2l6ZSwgTXVsdGlYYWN0U2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBMV0xv Y2tTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFByb2NBcnJheVNobWVtU2l6 ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgQmFja2VuZFN0YXR1c1NobWVtU2l6ZSgpKTsK KwlzaXplID0gYWRkX3NpemUoc2l6ZSwgU0ludmFsU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRf c2l6ZShzaXplLCBQTVNpZ25hbFNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwg UHJvY1NpZ25hbFNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgQ2hlY2twb2lu dGVyU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBBdXRvVmFjdXVtU2htZW1T aXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBSZXBsaWNhdGlvblNsb3RzU2htZW1TaXpl KCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBSZXBsaWNhdGlvbk9yaWdpblNobWVtU2l6ZSgp KTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgV2FsU25kU2htZW1TaXplKCkpOworCXNpemUgPSBh ZGRfc2l6ZShzaXplLCBXYWxSY3ZTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUs IFBnQXJjaFNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgQXBwbHlMYXVuY2hl clNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgU25hcE1nclNobWVtU2l6ZSgp KTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgQlRyZWVTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFk ZF9zaXplKHNpemUsIFN5bmNTY2FuU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXpl LCBBc3luY1NobWVtU2l6ZSgpKTsKKyNpZmRlZiBFWEVDX0JBQ0tFTkQKKwlzaXplID0gYWRkX3Np emUoc2l6ZSwgU2htZW1CYWNrZW5kQXJyYXlTaXplKCkpOworI2VuZGlmCisKKwkvKiBmcmVlemUg dGhlIGFkZGluIHJlcXVlc3Qgc2l6ZSBhbmQgaW5jbHVkZSBpdCAqLworCWFkZGluX3JlcXVlc3Rf YWxsb3dlZCA9IGZhbHNlOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCB0b3RhbF9hZGRpbl9yZXF1 ZXN0KTsKKworCS8qIG1pZ2h0IGFzIHdlbGwgcm91bmQgaXQgb2ZmIHRvIGEgbXVsdGlwbGUgb2Yg YSB0eXBpY2FsIHBhZ2Ugc2l6ZSAqLworCXNpemUgPSBhZGRfc2l6ZShzaXplLCA4MTkyIC0gKHNp emUgJSA4MTkyKSk7CisKKwlyZXR1cm4gc2l6ZTsKK30KIAogLyoKICAqIENyZWF0ZVNoYXJlZE1l bW9yeUFuZFNlbWFwaG9yZXMKQEAgLTEwMiw2NSArMTgzLDggQEAgQ3JlYXRlU2hhcmVkTWVtb3J5 QW5kU2VtYXBob3Jlcyh2b2lkKQogCQlTaXplCQlzaXplOwogCQlpbnQJCQludW1TZW1hczsKIAot CQkvKiBDb21wdXRlIG51bWJlciBvZiBzZW1hcGhvcmVzIHdlJ2xsIG5lZWQgKi8KLQkJbnVtU2Vt YXMgPSBQcm9jR2xvYmFsU2VtYXMoKTsKLQkJbnVtU2VtYXMgKz0gU3BpbmxvY2tTZW1hcygpOwot Ci0JCS8qCi0JCSAqIFNpemUgb2YgdGhlIFBvc3RncmVzIHNoYXJlZC1tZW1vcnkgYmxvY2sgaXMg ZXN0aW1hdGVkIHZpYQotCQkgKiBtb2RlcmF0ZWx5LWFjY3VyYXRlIGVzdGltYXRlcyBmb3IgdGhl IGJpZyBob2dzLCBwbHVzIDEwMEsgZm9yIHRoZQotCQkgKiBzdHVmZiB0aGF0J3MgdG9vIHNtYWxs IHRvIGJvdGhlciB3aXRoIGVzdGltYXRpbmcuCi0JCSAqCi0JCSAqIFdlIHRha2Ugc29tZSBjYXJl IGR1cmluZyB0aGlzIHBoYXNlIHRvIGVuc3VyZSB0aGF0IHRoZSB0b3RhbCBzaXplCi0JCSAqIHJl cXVlc3QgZG9lc24ndCBvdmVyZmxvdyBzaXplX3QuICBJZiB0aGlzIGdldHMgdGhyb3VnaCwgd2Ug ZG9uJ3QKLQkJICogbmVlZCB0byBiZSBzbyBjYXJlZnVsIGR1cmluZyB0aGUgYWN0dWFsIGFsbG9j YXRpb24gcGhhc2UuCi0JCSAqLwotCQlzaXplID0gMTAwMDAwOwotCQlzaXplID0gYWRkX3NpemUo c2l6ZSwgUEdTZW1hcGhvcmVTaG1lbVNpemUobnVtU2VtYXMpKTsKLQkJc2l6ZSA9IGFkZF9zaXpl KHNpemUsIFNwaW5sb2NrU2VtYVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBoYXNo X2VzdGltYXRlX3NpemUoU0hNRU1fSU5ERVhfU0laRSwKLQkJCQkJCQkJCQkJCSBzaXplb2YoU2ht ZW1JbmRleEVudCkpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIGRzbV9lc3RpbWF0ZV9zaXpl KCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQnVmZmVyU2htZW1TaXplKCkpOwotCQlzaXpl ID0gYWRkX3NpemUoc2l6ZSwgTG9ja1NobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNp emUsIFByZWRpY2F0ZUxvY2tTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQ cm9jR2xvYmFsU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgWExPR1NobWVt U2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIENMT0dTaG1lbVNpemUoKSk7Ci0JCXNp emUgPSBhZGRfc2l6ZShzaXplLCBDb21taXRUc1NobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9z aXplKHNpemUsIFNVQlRSQU5TU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwg VHdvUGhhc2VTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCYWNrZ3JvdW5k V29ya2VyU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgTXVsdGlYYWN0U2ht ZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgTFdMb2NrU2htZW1TaXplKCkpOwot CQlzaXplID0gYWRkX3NpemUoc2l6ZSwgUHJvY0FycmF5U2htZW1TaXplKCkpOwotCQlzaXplID0g YWRkX3NpemUoc2l6ZSwgQmFja2VuZFN0YXR1c1NobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9z aXplKHNpemUsIFNJbnZhbFNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFBN U2lnbmFsU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgUHJvY1NpZ25hbFNo bWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIENoZWNrcG9pbnRlclNobWVtU2l6 ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIEF1dG9WYWN1dW1TaG1lbVNpemUoKSk7Ci0J CXNpemUgPSBhZGRfc2l6ZShzaXplLCBSZXBsaWNhdGlvblNsb3RzU2htZW1TaXplKCkpOwotCQlz aXplID0gYWRkX3NpemUoc2l6ZSwgUmVwbGljYXRpb25PcmlnaW5TaG1lbVNpemUoKSk7Ci0JCXNp emUgPSBhZGRfc2l6ZShzaXplLCBXYWxTbmRTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6 ZShzaXplLCBXYWxSY3ZTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQZ0Fy Y2hTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBBcHBseUxhdW5jaGVyU2ht ZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgU25hcE1nclNobWVtU2l6ZSgpKTsK LQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIEJUcmVlU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRk X3NpemUoc2l6ZSwgU3luY1NjYW5TaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXpl LCBBc3luY1NobWVtU2l6ZSgpKTsKLSNpZmRlZiBFWEVDX0JBQ0tFTkQKLQkJc2l6ZSA9IGFkZF9z aXplKHNpemUsIFNobWVtQmFja2VuZEFycmF5U2l6ZSgpKTsKLSNlbmRpZgotCi0JCS8qIGZyZWV6 ZSB0aGUgYWRkaW4gcmVxdWVzdCBzaXplIGFuZCBpbmNsdWRlIGl0ICovCi0JCWFkZGluX3JlcXVl c3RfYWxsb3dlZCA9IGZhbHNlOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgdG90YWxfYWRkaW5f cmVxdWVzdCk7Ci0KLQkJLyogbWlnaHQgYXMgd2VsbCByb3VuZCBpdCBvZmYgdG8gYSBtdWx0aXBs ZSBvZiBhIHR5cGljYWwgcGFnZSBzaXplICovCi0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCA4MTky IC0gKHNpemUgJSA4MTkyKSk7Ci0KKwkJLyogQ29tcHV0ZSB0aGUgc2l6ZSBvZiB0aGUgc2hhcmVk LW1lbW9yeSBibG9jayAqLworCQlzaXplID0gQ2FsY3VsYXRlU2htZW1TaXplKCZudW1TZW1hcyk7 CiAJCWVsb2coREVCVUczLCAiaW52b2tpbmcgSXBjTWVtb3J5Q3JlYXRlKHNpemU9JXp1KSIsIHNp emUpOwogCiAJCS8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ib290c3RyYXAvYm9vdHN0cmFw LmggYi9zcmMvaW5jbHVkZS9ib290c3RyYXAvYm9vdHN0cmFwLmgKaW5kZXggN2QzYjc4ZTM3NC4u OGU0MjA1NzRmNSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5o CisrKyBiL3NyYy9pbmNsdWRlL2Jvb3RzdHJhcC9ib290c3RyYXAuaApAQCAtMzIsNyArMzIsNyBA QCBleHRlcm4gRm9ybV9wZ19hdHRyaWJ1dGUgYXR0cnR5cGVzW01BWEFUVFJdOwogZXh0ZXJuIGlu dAludW1hdHRyOwogCiAKLWV4dGVybiB2b2lkIEJvb3RzdHJhcE1vZGVNYWluKGludCBhcmdjLCBj aGFyICphcmd2W10sIGJvb2wgY2hlY2tfb25seSkgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7Citl eHRlcm4gdm9pZCBCb290c3RyYXBNb2RlTWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdLCBib29s IGNoZWNrX29ubHksIGJvb2wgb3V0cHV0X3NobWVtKSBwZ19hdHRyaWJ1dGVfbm9yZXR1cm4oKTsK IAogZXh0ZXJuIHZvaWQgY2xvc2VyZWwoY2hhciAqbmFtZSk7CiBleHRlcm4gdm9pZCBib290X29w ZW5yZWwoY2hhciAqbmFtZSk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2lwYy5o IGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9pcGMuaAppbmRleCA3NTNhNmRkNGQ3Li44MGUxOTFkNDA3 IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2lwYy5oCisrKyBiL3NyYy9pbmNsdWRl L3N0b3JhZ2UvaXBjLmgKQEAgLTc3LDYgKzc3LDcgQEAgZXh0ZXJuIHZvaWQgY2hlY2tfb25fc2ht ZW1fZXhpdF9saXN0c19hcmVfZW1wdHkodm9pZCk7CiAvKiBpcGNpLmMgKi8KIGV4dGVybiBQR0RM TElNUE9SVCBzaG1lbV9zdGFydHVwX2hvb2tfdHlwZSBzaG1lbV9zdGFydHVwX2hvb2s7CiAKK2V4 dGVybiBTaXplIENhbGN1bGF0ZVNobWVtU2l6ZShpbnQgKm51bV9zZW1hcGhvcmVzKTsKIGV4dGVy biB2b2lkIENyZWF0ZVNoYXJlZE1lbW9yeUFuZFNlbWFwaG9yZXModm9pZCk7CiAKICNlbmRpZgkJ CQkJCQkvKiBJUENfSCAqLwotLSAKMi4xNi42Cgo= --_002_0545F7B370C04DE88C85EAFE6113B7EEamazoncom_--