Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efCTW-0007Pm-EZ for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Jan 2018 22:27:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efCTU-0006I2-Sm for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Jan 2018 22:27:56 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1efCTU-0006Hq-IG for pgsql-hackers@lists.postgresql.org; Fri, 26 Jan 2018 22:27:56 +0000 Received: from smtp-fw-6002.amazon.com ([52.95.49.90]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1efCTQ-0001Vv-8O for pgsql-hackers@postgresql.org; Fri, 26 Jan 2018 22:27:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1517005672; x=1548541672; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=T8MRTEXXbGB6rdYx4dMLUgsC477HZnU355oAy+Qfg6Y=; b=jdWNjAr0LBS0M4x0kY3BbBBR/XF/sC5C74VhuzSCU0aLA+oWk2NrR1FJ BuMBO1qgjBXnXlKFvXc76wQr75oxPpFFVlFzKZRAxN6/BhXI51YMlKs4q 6ybwGFlsRwg37nSktN4ZS41fNrp/WiSDrUgSA17lVZMNGw43/jil6b17R U=; X-Amazon-filename: pgbench11-ppoll-v9.patch X-IronPort-AV: E=Sophos;i="5.46,418,1511827200"; d="scan'208";a="329347874" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-1e-27fb8269.us-east-1.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-6002.iad6.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 Jan 2018 22:27:49 +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-27fb8269.us-east-1.amazon.com (8.14.7/8.14.7) with ESMTP id w0QMRc40050293 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 26 Jan 2018 22:27:48 GMT Received: from EX13D17UWB001.ant.amazon.com (10.43.161.252) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Fri, 26 Jan 2018 22:27:48 +0000 Received: from EX13D17UWB001.ant.amazon.com (10.43.161.252) by EX13D17UWB001.ant.amazon.com (10.43.161.252) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Fri, 26 Jan 2018 22:27:48 +0000 Received: from EX13D17UWB001.ant.amazon.com ([10.43.161.252]) by EX13D17UWB001.ant.amazon.com ([10.43.161.252]) with mapi id 15.00.1236.000; Fri, 26 Jan 2018 22:27:48 +0000 From: "Rady, Doug" To: Fabien COELHO CC: "pgsql-hackers@postgresql.org" , Robert Haas Subject: Re: PATCH: pgbench - option to build using ppoll() for larger connection counts Thread-Topic: PATCH: pgbench - option to build using ppoll() for larger connection counts Thread-Index: AQHTk1vEAOWLJLdBw0iv3Qs0KFuoOg== Date: Fri, 26 Jan 2018 22:27:47 +0000 Message-ID: <81936381-841A-459D-9FE5-18659680355C@amazon.com> References: <23D017C9-81B7-484D-8490-FD94DEC4DF59@amazon.com> <16744C85-E44E-4354-9E3D-45A7C9BDB19B@amazon.com> In-Reply-To: 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.160.237] Content-Type: multipart/mixed; boundary="_002_81936381841A459D9FE518659680355Camazoncom_" MIME-Version: 1.0 Precedence: Bulk List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --_002_81936381841A459D9FE518659680355Camazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <00C672B24353F74C8BF55FC0DE9F457A@amazon.com> Content-Transfer-Encoding: base64 T24gMS8yNS8xOCwgMTQ6NDYsICJGYWJpZW4gQ09FTEhPIiA8Y29lbGhvQGNyaS5lbnNtcC5mcj4g d3JvdGU6DQoNCiAgICANCiAgICBIZWxsbyBEb3VnLA0KDQpIZWxsbyBGYWJpZW4sDQogICAgDQog ICAgPiBUaGlzIHRpbWUgd2l0aCB0aGUgcmV2aXNlZCBwYXRjaCBmaWxlOiAgcGdiZW5jaDExLXBw b2xsLXY4LnBhdGNoDQogICAgDQogICAgUGF0Y2ggYXBwbGllcyBjbGVhbmx5LiBDb21waWxlcyBj bGVhbmx5IGFuZCBydW5zIGZpbmUgaW4gYm90aCBwcG9sbCAmIA0KICAgIHNlbGVjdCBjYXNlcy4N CiAgICANCiAgICBJJ20gb2theSB3aXRoIGhhdmluZyBhIHByZWZlcnJlZCBwcG9sbCBpbXBsZW1l bnRhdGlvbiBiZWNhdXNlIG9mIGl0cyBpbXByb3ZlZA0KICAgIGNhcGFiaWxpdHkuDQogICAgDQog ICAgQSBmZXcgbWlub3IgYWRkaXRpb25hbCBjb21tZW50cy9zdWdnZXN0aW9uczoNCiAgICANCiAg ICBDcHAgaGFzIGFuICNlbGlmIHRoYXQgY291bGQgYmUgdXNlZCB0byBtYW5hZ2UgdGhlIHBwb2xs L3NlbGVjdCBhbHRlcm5hdGl2ZS4NCiAgICBJdCBpcyBhbHJlYWR5IHVzZWQgZWxzZXdoZXJlIGlu IHRoZSBmaWxlLiBPciBub3QuDQogICAgDQogICAgSSBtdXN0IGFkbWl0IHRoYXQgSSdtIG5vdCBm b25kIG9mIHRoZSBhbGxvY19zb2NrZXRfc2V0IHRyaWNrIHdpdGggTUFYQ0xJRU5UUywNCiAgICBl c3BlY2lhbGx5IHdpdGhvdXQgYW55IGNvbW1lbnQuIEknZCBzdWdnZXN0IHRvIGp1c3QgaGF2ZSB0 d28gZGlzdGluY3QgZnVuY3Rpb25zDQogICAgaW4gdGhlaXIgY29ycmVzcG9uZGluZyBzZWN0aW9u cy4NCg0KTWFkZSBhIGRpc3RpbmN0IGZ1bmN0aW9uIGZvciBlYWNoIHNlY3Rpb24uDQogIA0KICAg IEkgd291bGQgYWRkIGEgY29tbWVudCB0aGF0IGZyZWVfc29ja2V0X3NldCBjb2RlIGlzIGNvbW1v biB0byBib3RoIA0KICAgIHZlcnNpb25zLCBhbmQgbWF5YmUgY29uc2lkZXIgbW92aW5nIGl0IGFm dGVyd2FyZHMuIE9yIG1heWJlIGp1c3QgZHVwbGljYXRlIA0KICAgIGlmIGluIGVhY2ggc2VjdGlv biBmb3IgaG9tb2dlbmVpdHkuDQoNCkR1cGxpY2F0ZWQuDQogICAgDQogICAgSXQgbG9va3MgbGlr ZSBlcnJvcl9vbl9zb2NrZXQgYW5kIGlnbm9yZV9zb2NrZXQgc2hvdWxkIHJldHVybiBhIGJvb2xl YW4gaW5zdGVhZA0KICAgIG9mIGFuIGludC4gQWxzbywgbWF5YmUgc2ltcGxpZnkgdGhlIGltcGxl bWVudGF0aW9uIG9mIHRoZSBsYXRlciBieSBhdm9pZGluZw0KICAgIHRoZSA/OiBleHByZXNzaW9u Lg0KICAgIA0KICAgIElTVE0gdGhhdCB0aGUgZXJyb3Jfb25fc29ja2V0IGZ1bmN0aW9uIGluIHRo ZSBwcG9sbCBjYXNlIGRlc2VydmVzIHNvbWUgDQogICAgY29tbWVudHMsIGVzcGVjaWFsbHkgb24g dGhlIGNvbmRpdGlvbi4NCg0KQWRkZWQgY29tbWVudC4gQ2hhbmdlZCBvdXRwdXQgdG8gYmUgbW9y ZSBjb21wYXRpYmxlIHdpdGggc29ja2V0KCkgZXJyb3IgY2hlY2suDQpFeHRyYSBwcG9sbCgpIHNw ZWNpZmljIGVycm9yIGluZm8gb25seSBvdXRwdXQgd2hlbiBkZWJ1ZyBmbGFnIHNldCAuLi4gbm90 IHN1cmUgaWYgdGhpcyBpcyBPSyBvciBzaG91bGQganVzdCByZW1vdmUgdGhlIGV4dHJhIGluZm8u DQogICAgDQogICAgDQogICAgPiBbLi4uXSBSZXBsYWNlZCBVU0VfUFBPTEwgd2l0aCBIQVZFX1BQ T0xMIGFzIGhhdmluZyBib3RoIHNlZW1zIHJlZHVuZGFudC4NCiAgICANCiAgICBJJ20gb2theSB3 aXRoIHRoYXQuIEknbSB3b25kZXJpbmcgd2hldGhlciB0aGVyZSBzaG91bGQgYmUgYSB3YXkgdG8g Zm9yY2UgDQogICAgdXNpbmcgb25lIG9yIHRoZSBvdGhlciB3aGVuIGJvdGggYXJlIGF2YWlsYWJs ZS4gTm90IHN1cmUuDQoNCkFkZGVkIG9wdGlvbiB0byBmb3JjZSB1c2Ugb2Ygc2VsZWN0KDIpIHZp YTogIC1EVVNFX1NFTEVDVA0KICAgIA0KICAgIC0tIA0KICAgIEZhYmllbi4NCiAgICANClRoYW5r IHlvdSEhDQpkb3VnDQoNCg0KDQogICAgDQoNCg== --_002_81936381841A459D9FE518659680355Camazoncom_ Content-Type: application/octet-stream; name="pgbench11-ppoll-v9.patch" Content-Description: pgbench11-ppoll-v9.patch Content-Disposition: attachment; filename="pgbench11-ppoll-v9.patch"; size=10500; creation-date="Fri, 26 Jan 2018 22:27:47 GMT"; modification-date="Fri, 26 Jan 2018 22:27:47 GMT" Content-ID: Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRleCA0ZDI2MDM0NTc5 Li43YjJiNTMxNjc1IDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4KKysrIGIvY29uZmlndXJlLmlu CkBAIC0xNDI1LDcgKzE0MjUsNyBAQCBQR0FDX0ZVTkNfV0NTVE9NQlNfTAogTElCU19pbmNsdWRp bmdfcmVhZGxpbmU9IiRMSUJTIgogTElCUz1gZWNobyAiJExJQlMiIHwgc2VkIC1lICdzLy1sZWRp dC8vZycgLWUgJ3MvLWxyZWFkbGluZS8vZydgCiAKLUFDX0NIRUNLX0ZVTkNTKFtjYnJ0IGNsb2Nr X2dldHRpbWUgZGxvcGVuIGZkYXRhc3luYyBnZXRpZmFkZHJzIGdldHBlZXJ1Y3JlZCBnZXRybGlt aXQgbWJzdG93Y3NfbCBtZW1tb3ZlIHBvbGwgcG9zaXhfZmFsbG9jYXRlIHBzdGF0IHB0aHJlYWRf aXNfdGhyZWFkZWRfbnAgcmVhZGxpbmsgc2V0cHJvY3RpdGxlIHNldHNpZCBzaG1fb3BlbiBzeW1s aW5rIHN5bmNfZmlsZV9yYW5nZSB1dGltZSB1dGltZXMgd2NzdG9tYnNfbF0pCitBQ19DSEVDS19G VU5DUyhbY2JydCBjbG9ja19nZXR0aW1lIGRsb3BlbiBmZGF0YXN5bmMgZ2V0aWZhZGRycyBnZXRw ZWVydWNyZWQgZ2V0cmxpbWl0IG1ic3Rvd2NzX2wgbWVtbW92ZSBwb2xsIHBvc2l4X2ZhbGxvY2F0 ZSBwcG9sbCBwc3RhdCBwdGhyZWFkX2lzX3RocmVhZGVkX25wIHJlYWRsaW5rIHNldHByb2N0aXRs ZSBzZXRzaWQgc2htX29wZW4gc3ltbGluayBzeW5jX2ZpbGVfcmFuZ2UgdXRpbWUgdXRpbWVzIHdj c3RvbWJzX2xdKQogCiBBQ19SRVBMQUNFX0ZVTkNTKGZzZWVrbykKIGNhc2UgJGhvc3Rfb3MgaW4K ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNoLmMgYi9zcmMvYmluL3BnYmVuY2gv cGdiZW5jaC5jCmluZGV4IDMxZWE2Y2EwNmUuLjJlYzhkMDk1NjEgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcGdiZW5jaC9wZ2JlbmNoLmMKKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYwpAQCAt NDQsNyArNDQsMTQgQEAKICNpbmNsdWRlIDxzaWduYWwuaD4KICNpbmNsdWRlIDx0aW1lLmg+CiAj aW5jbHVkZSA8c3lzL3RpbWUuaD4KLSNpZmRlZiBIQVZFX1NZU19TRUxFQ1RfSAorI2lmZGVmIFVT RV9TRUxFQ1QJCQkvKiBmb3JjZSB1c2Ugb2Ygc2VsZWN0KDIpPyAqLworI3VuZGVmIEhBVkVfUFBP TEwKKyNlbmRpZgorI2lmZGVmIEhBVkVfUFBPTEwKKyNpbmNsdWRlIDxwb2xsLmg+CisjZWxpZiBk ZWZpbmVkKEhBVkVfU1lTX1NFTEVDVF9IKQorI3VuZGVmIFVTRV9TRUxFQ1QKKyNkZWZpbmUgVVNF X1NFTEVDVAogI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KICNlbmRpZgogCkBAIC04MiwxMyArODks MTkgQEAgc3RhdGljIGludAlwdGhyZWFkX2pvaW4ocHRocmVhZF90IHRoLCB2b2lkICoqdGhyZWFk X3JldHVybik7CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgogICogc29tZSBjb25maWd1cmFibGUgcGFyYW1ldGVy cyAqLwotCi0vKiBtYXggbnVtYmVyIG9mIGNsaWVudHMgYWxsb3dlZCAqLworI2lmZGVmIFVTRV9T RUxFQ1QJLyogdXNpbmcgc2VsZWN0KDIpICovCisjZGVmaW5lIFNPQ0tFVF9XQUlUX01FVEhPRCAi c2VsZWN0IgordHlwZWRlZiBmZF9zZXQgc29ja2V0X3NldDsKICNpZmRlZiBGRF9TRVRTSVpFCi0j ZGVmaW5lIE1BWENMSUVOVFMJKEZEX1NFVFNJWkUgLSAxMCkKKyNkZWZpbmUgTUFYQ0xJRU5UUwko RkRfU0VUU0laRSAtIDEwKSAvKiBzeXN0ZW0gbGltaXRlZCBtYXggbnVtYmVyIG9mIGNsaWVudHMg YWxsb3dlZCAqLwogI2Vsc2UKLSNkZWZpbmUgTUFYQ0xJRU5UUwkxMDI0CisjZGVmaW5lIE1BWENM SUVOVFMJMTAyNAkJLyogbWF4IG51bWJlciBvZiBjbGllbnRzIGFsbG93ZWQgKi8KICNlbmRpZgor I2Vsc2UJLyogdXNpbmcgcHBvbGwoMikgKi8KKyNkZWZpbmUgU09DS0VUX1dBSVRfTUVUSE9EICJw cG9sbCIKK3R5cGVkZWYgc3RydWN0IHBvbGxmZCBzb2NrZXRfc2V0OworI2RlZmluZSBNQVhDTElF TlRTCS0xCQkvKiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGNsaWVudHMgKi8KKyNlbmRpZiAvKiBVU0Vf U0VMRUNUICovCiAKICNkZWZpbmUgREVGQVVMVF9JTklUX1NURVBTICJkdGd2cCIJLyogZGVmYXVs dCAtSSBzZXR0aW5nICovCiAKQEAgLTUwMiw2ICs1MTUsMTMgQEAgc3RhdGljIHZvaWQgcGdiZW5j aF9lcnJvcihjb25zdCBjaGFyICpmbXQsLi4uKSBwZ19hdHRyaWJ1dGVfcHJpbnRmKDEsIDIpOwog c3RhdGljIHZvaWQgYWRkU2NyaXB0KFBhcnNlZFNjcmlwdCBzY3JpcHQpOwogc3RhdGljIHZvaWQg KnRocmVhZFJ1bih2b2lkICphcmcpOwogc3RhdGljIHZvaWQgc2V0YWxhcm0oaW50IHNlY29uZHMp Oworc3RhdGljIHNvY2tldF9zZXQgKmFsbG9jX3NvY2tldF9zZXQoaW50IGNvdW50KTsKK3N0YXRp YyBib29sIGVycm9yX29uX3NvY2tldChzb2NrZXRfc2V0ICpzYSwgaW50IGlkeCwgUEdjb25uICpj b24pOworc3RhdGljIHZvaWQgZnJlZV9zb2NrZXRfc2V0KHNvY2tldF9zZXQgKnNhKTsKK3N0YXRp YyBib29sIGlnbm9yZV9zb2NrZXQoc29ja2V0X3NldCAqc2EsIGludCBpZHgsIFBHY29ubiAqY29u KTsKK3N0YXRpYyB2b2lkIGNsZWFyX3NvY2tldF9zZXQoc29ja2V0X3NldCAqc2EsIGludCBjb3Vu dCk7CitzdGF0aWMgdm9pZCBzZXRfc29ja2V0KHNvY2tldF9zZXQgKnNhLCBpbnQgZmQsIGludCBp ZHgpOworc3RhdGljIGludCB3YWl0X29uX3NvY2tldF9zZXQoc29ja2V0X3NldCAqc2EsIGludCBu c3RhdGUsIGludCBtYXhzb2NrLCBpbnQ2NCB1c2VjKTsKIAogCiAvKiBjYWxsYmFjayBmdW5jdGlv bnMgZm9yIG91ciBmbGV4IGxleGVyICovCkBAIC0xMDcxLDYgKzEwOTEsNyBAQCBkb0Nvbm5lY3Qo dm9pZCkKIAkJCSFoYXZlX3Bhc3N3b3JkKQogCQl7CiAJCQlQUWZpbmlzaChjb25uKTsKKwkJCWNv bm4gPSBOVUxMOwogCQkJc2ltcGxlX3Byb21wdCgiUGFzc3dvcmQ6ICIsIHBhc3N3b3JkLCBzaXpl b2YocGFzc3dvcmQpLCBmYWxzZSk7CiAJCQloYXZlX3Bhc3N3b3JkID0gdHJ1ZTsKIAkJCW5ld19w YXNzID0gdHJ1ZTsKQEAgLTI3MDQsNiArMjcyNSw3IEBAIGRvQ3VzdG9tKFRTdGF0ZSAqdGhyZWFk LCBDU3RhdGUgKnN0LCBTdGF0c0RhdGEgKmFnZykKIAkJCQkJaWYgKElOU1RSX1RJTUVfSVNfWkVS Tyhub3cpKQogCQkJCQkJSU5TVFJfVElNRV9TRVRfQ1VSUkVOVChub3cpOwogCQkJCQlzdGFydCA9 IG5vdzsKKwogCQkJCQlpZiAoKHN0LT5jb24gPSBkb0Nvbm5lY3QoKSkgPT0gTlVMTCkKIAkJCQkJ ewogCQkJCQkJZnByaW50ZihzdGRlcnIsICJjbGllbnQgJWQgYWJvcnRlZCB3aGlsZSBlc3RhYmxp c2hpbmcgY29ubmVjdGlvblxuIiwKQEAgLTQ1MDcsNyArNDUyOSw3IEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogCQkJY2FzZSAnYyc6CiAJCQkJYmVuY2htYXJraW5nX29wdGlvbl9zZXQg PSB0cnVlOwogCQkJCW5jbGllbnRzID0gYXRvaShvcHRhcmcpOwotCQkJCWlmIChuY2xpZW50cyA8 PSAwIHx8IG5jbGllbnRzID4gTUFYQ0xJRU5UUykKKwkJCQlpZiAobmNsaWVudHMgPD0gMCB8fCAo TUFYQ0xJRU5UUyAhPSAtMSAmJiBuY2xpZW50cyA+IE1BWENMSUVOVFMpKQogCQkJCXsKIAkJCQkJ ZnByaW50ZihzdGRlcnIsICJpbnZhbGlkIG51bWJlciBvZiBjbGllbnRzOiBcIiVzXCJcbiIsCiAJ CQkJCQkJb3B0YXJnKTsKQEAgLTUxODksNiArNTIxMSw3IEBAIHRocmVhZFJ1bih2b2lkICphcmcp CiAJaW50NjQJCW5leHRfcmVwb3J0ID0gbGFzdF9yZXBvcnQgKyAoaW50NjQpIHByb2dyZXNzICog MTAwMDAwMDsKIAlTdGF0c0RhdGEJbGFzdCwKIAkJCQlhZ2dzOworCXNvY2tldF9zZXQJKnNvY2tl dHMgPSBhbGxvY19zb2NrZXRfc2V0KG5zdGF0ZSk7CiAKIAkvKgogCSAqIEluaXRpYWxpemUgdGhy b3R0bGluZyByYXRlIHRhcmdldCBmb3IgYWxsIG9mIHRoZSB0aHJlYWQncyBjbGllbnRzLiAgSXQK QEAgLTUyMzIsNiArNTI1NSw3IEBAIHRocmVhZFJ1bih2b2lkICphcmcpCiAJCXsKIAkJCWlmICgo c3RhdGVbaV0uY29uID0gZG9Db25uZWN0KCkpID09IE5VTEwpCiAJCQkJZ290byBkb25lOworCQkJ c2V0X3NvY2tldChzb2NrZXRzLCBQUXNvY2tldChzdGF0ZVtpXS5jb24pLCBpKTsKIAkJfQogCX0K IApAQCAtNTI0OCwxMyArNTI3MiwxMyBAQCB0aHJlYWRSdW4odm9pZCAqYXJnKQogCS8qIGxvb3Ag dGlsbCBhbGwgY2xpZW50cyBoYXZlIHRlcm1pbmF0ZWQgKi8KIAl3aGlsZSAocmVtYWlucyA+IDAp CiAJewotCQlmZF9zZXQJCWlucHV0X21hc2s7CiAJCWludAkJCW1heHNvY2s7CS8qIG1heCBzb2Nr ZXQgbnVtYmVyIHRvIGJlIHdhaXRlZCBmb3IgKi8KIAkJaW50NjQJCW1pbl91c2VjOwogCQlpbnQ2 NAkJbm93X3VzZWMgPSAwOwkvKiBzZXQgdGhpcyBvbmx5IGlmIG5lZWRlZCAqLwogCiAJCS8qIGlk ZW50aWZ5IHdoaWNoIGNsaWVudCBzb2NrZXRzIHNob3VsZCBiZSBjaGVja2VkIGZvciBpbnB1dCAq LwotCQlGRF9aRVJPKCZpbnB1dF9tYXNrKTsKKwkJY2xlYXJfc29ja2V0X3NldChzb2NrZXRzLCBu c3RhdGUpOworCiAJCW1heHNvY2sgPSAtMTsKIAkJbWluX3VzZWMgPSBQR19JTlQ2NF9NQVg7CiAJ CWZvciAoaSA9IDA7IGkgPCBuc3RhdGU7IGkrKykKQEAgLTUzMDQsNyArNTMyOCw3IEBAIHRocmVh ZFJ1bih2b2lkICphcmcpCiAJCQkJCWdvdG8gZG9uZTsKIAkJCQl9CiAKLQkJCQlGRF9TRVQoc29j aywgJmlucHV0X21hc2spOworCQkJCXNldF9zb2NrZXQoc29ja2V0cywgc29jaywgaSk7CiAJCQkJ aWYgKG1heHNvY2sgPCBzb2NrKQogCQkJCQltYXhzb2NrID0gc29jazsKIAkJCX0KQEAgLTUzNDEs NyArNTM2NSw3IEBAIHRocmVhZFJ1bih2b2lkICphcmcpCiAJCS8qCiAJCSAqIElmIG5vIGNsaWVu dHMgYXJlIHJlYWR5IHRvIGV4ZWN1dGUgYWN0aW9ucywgc2xlZXAgdW50aWwgd2UgcmVjZWl2ZQog CQkgKiBkYXRhIGZyb20gdGhlIHNlcnZlciwgb3IgYSBuYXAtdGltZSBzcGVjaWZpZWQgaW4gdGhl IHNjcmlwdCBlbmRzLAotCQkgKiBvciBpdCdzIHRpbWUgdG8gcHJpbnQgYSBwcm9ncmVzcyByZXBv cnQuICBVcGRhdGUgaW5wdXRfbWFzayB0byBzaG93CisJCSAqIG9yIGl0J3MgdGltZSB0byBwcmlu dCBhIHByb2dyZXNzIHJlcG9ydC4gIFVwZGF0ZSBzb2NrZXRzIHRvIHNob3cKIAkJICogd2hpY2gg Y2xpZW50KHMpIHJlY2VpdmVkIGRhdGEuCiAJCSAqLwogCQlpZiAobWluX3VzZWMgPiAwKQpAQCAt NTM1MiwxMSArNTM3Niw3IEBAIHRocmVhZFJ1bih2b2lkICphcmcpCiAJCQl7CiAJCQkJaWYgKG1h eHNvY2sgIT0gLTEpCiAJCQkJewotCQkJCQlzdHJ1Y3QgdGltZXZhbCB0aW1lb3V0OwotCi0JCQkJ CXRpbWVvdXQudHZfc2VjID0gbWluX3VzZWMgLyAxMDAwMDAwOwotCQkJCQl0aW1lb3V0LnR2X3Vz ZWMgPSBtaW5fdXNlYyAlIDEwMDAwMDA7Ci0JCQkJCW5zb2NrcyA9IHNlbGVjdChtYXhzb2NrICsg MSwgJmlucHV0X21hc2ssIE5VTEwsIE5VTEwsICZ0aW1lb3V0KTsKKwkJCQkJbnNvY2tzID0gd2Fp dF9vbl9zb2NrZXRfc2V0KHNvY2tldHMsIG5zdGF0ZSwgbWF4c29jaywgbWluX3VzZWMpOwogCQkJ CX0KIAkJCQllbHNlCQkJLyogbm90aGluZyBhY3RpdmUsIHNpbXBsZSBzbGVlcCAqLwogCQkJCXsK QEAgLTUzNjUsNyArNTM4NSw3IEBAIHRocmVhZFJ1bih2b2lkICphcmcpCiAJCQl9CiAJCQllbHNl CQkJCS8qIG5vIGV4cGxpY2l0IGRlbGF5LCBzZWxlY3Qgd2l0aG91dCB0aW1lb3V0ICovCiAJCQl7 Ci0JCQkJbnNvY2tzID0gc2VsZWN0KG1heHNvY2sgKyAxLCAmaW5wdXRfbWFzaywgTlVMTCwgTlVM TCwgTlVMTCk7CisJCQkJbnNvY2tzID0gd2FpdF9vbl9zb2NrZXRfc2V0KHNvY2tldHMsIG5zdGF0 ZSwgbWF4c29jaywgMCk7CiAJCQl9CiAKIAkJCWlmIChuc29ja3MgPCAwKQpAQCAtNTM3Niw3ICs1 Mzk2LDcgQEAgdGhyZWFkUnVuKHZvaWQgKmFyZykKIAkJCQkJY29udGludWU7CiAJCQkJfQogCQkJ CS8qIG11c3QgYmUgc29tZXRoaW5nIHdyb25nICovCi0JCQkJZnByaW50ZihzdGRlcnIsICJzZWxl Y3QoKSBmYWlsZWQ6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOworCQkJCWZwcmludGYoc3RkZXJy LCAiJXMoKSBmYWlsZWQ6ICVzXG4iLCBTT0NLRVRfV0FJVF9NRVRIT0QsIHN0cmVycm9yKGVycm5v KSk7CiAJCQkJZ290byBkb25lOwogCQkJfQogCQl9CkBAIC01Mzg1LDcgKzU0MDUsNyBAQCB0aHJl YWRSdW4odm9pZCAqYXJnKQogCQkJLyogbWluX3VzZWMgPT0gMCwgaS5lLiBzb21ldGhpbmcgbmVl ZHMgdG8gYmUgZXhlY3V0ZWQgKi8KIAogCQkJLyogSWYgd2UgZGlkbid0IGNhbGwgc2VsZWN0KCks IGRvbid0IHRyeSB0byByZWFkIGFueSBkYXRhICovCi0JCQlGRF9aRVJPKCZpbnB1dF9tYXNrKTsK KwkJCWNsZWFyX3NvY2tldF9zZXQoc29ja2V0cywgbnN0YXRlKTsKIAkJfQogCiAJCS8qIG9rLCBh ZHZhbmNlIHRoZSBzdGF0ZSBtYWNoaW5lIG9mIGVhY2ggY29ubmVjdGlvbiAqLwpAQCAtNTM5Niwx NiArNTQxNiwxMSBAQCB0aHJlYWRSdW4odm9pZCAqYXJnKQogCQkJaWYgKHN0LT5zdGF0ZSA9PSBD U1RBVEVfV0FJVF9SRVNVTFQpCiAJCQl7CiAJCQkJLyogZG9uJ3QgY2FsbCBkb0N1c3RvbSB1bmxl c3MgZGF0YSBpcyBhdmFpbGFibGUgKi8KLQkJCQlpbnQJCQlzb2NrID0gUFFzb2NrZXQoc3QtPmNv bik7CiAKLQkJCQlpZiAoc29jayA8IDApCi0JCQkJewotCQkJCQlmcHJpbnRmKHN0ZGVyciwgImlu dmFsaWQgc29ja2V0OiAlcyIsCi0JCQkJCQkJUFFlcnJvck1lc3NhZ2Uoc3QtPmNvbikpOworCQkJ CWlmIChlcnJvcl9vbl9zb2NrZXQoc29ja2V0cywgaSwgc3QtPmNvbikpCiAJCQkJCWdvdG8gZG9u ZTsKLQkJCQl9CiAKLQkJCQlpZiAoIUZEX0lTU0VUKHNvY2ssICZpbnB1dF9tYXNrKSkKKwkJCQlp ZiAoaWdub3JlX3NvY2tldChzb2NrZXRzLCBpLCBzdC0+Y29uKSkKIAkJCQkJY29udGludWU7CiAJ CQl9CiAJCQllbHNlIGlmIChzdC0+c3RhdGUgPT0gQ1NUQVRFX0ZJTklTSEVEIHx8CkBAIC01NTQz LDkgKzU1NTgsMTQzIEBAIGRvbmU6CiAJCWZjbG9zZSh0aHJlYWQtPmxvZ2ZpbGUpOwogCQl0aHJl YWQtPmxvZ2ZpbGUgPSBOVUxMOwogCX0KKwlmcmVlX3NvY2tldF9zZXQoc29ja2V0cyk7CisJc29j a2V0cyA9IE5VTEw7CiAJcmV0dXJuIE5VTEw7CiB9CiAKKyNpZmRlZiBVU0VfU0VMRUNUCS8qIHNl bGVjdCgyKSBiYXNlZCBzb2NrZXQgcG9sbGluZyAqLworc3RhdGljIHNvY2tldF9zZXQgKgorYWxs b2Nfc29ja2V0X3NldChpbnQgY291bnQpCit7CisJcmV0dXJuIChzb2NrZXRfc2V0ICopIHBnX21h bGxvYzAoc2l6ZW9mKHNvY2tldF9zZXQpICogTUFYQ0xJRU5UUyk7Cit9CisKK3N0YXRpYyB2b2lk CitmcmVlX3NvY2tldF9zZXQoc29ja2V0X3NldCAqc2EpCit7CisJcGdfZnJlZShzYSk7Cit9CisK K3N0YXRpYyBib29sCitlcnJvcl9vbl9zb2NrZXQoc29ja2V0X3NldCAqc2EsIGludCBpZHgsIFBH Y29ubiAqY29uKQoreworCWlmIChQUXNvY2tldChjb24pID49IDApIHJldHVybiBmYWxzZTsKKwlm cHJpbnRmKHN0ZGVyciwgImludmFsaWQgc29ja2V0OiAlcyIsIFBRZXJyb3JNZXNzYWdlKGNvbikp OworCXJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbAoraWdub3JlX3NvY2tldChzb2NrZXRf c2V0ICpzYSwgaW50IGlkeCwgUEdjb25uICpjb24pCit7CisJaWYgKEZEX0lTU0VUKFBRc29ja2V0 KGNvbiksIHNhKSkKKwkJcmV0dXJuIGZhbHNlOworCWVsc2UKKwkJcmV0dXJuIHRydWU7Cit9CisK K3N0YXRpYyB2b2lkCitjbGVhcl9zb2NrZXRfc2V0KHNvY2tldF9zZXQgKnNhLCBpbnQgY291bnQp Cit7CisJRkRfWkVSTyhzYSk7Cit9CisKK3N0YXRpYyB2b2lkCitzZXRfc29ja2V0KHNvY2tldF9z ZXQgKnNhLCBpbnQgZmQsIGludCBpZHgpCit7CisJRkRfU0VUKGZkLCBzYSk7Cit9CisKK3N0YXRp YyBpbnQKK3dhaXRfb25fc29ja2V0X3NldChzb2NrZXRfc2V0ICpzYSwgaW50IG5zdGF0ZSwgaW50 IG1heHNvY2ssIGludDY0IHVzZWMpCit7CisJc3RydWN0IHRpbWV2YWwgdGltZW91dDsKKworCWlm ICh1c2VjKQorCXsKKwkJdGltZW91dC50dl9zZWMgPSB1c2VjIC8gMTAwMDAwMDsKKwkJdGltZW91 dC50dl91c2VjID0gdXNlYyAlIDEwMDAwMDA7CisJfSBlbHNlIHsKKwkJdGltZW91dC50dl9zZWMg PSB0aW1lb3V0LnR2X3VzZWMgPSAwOworCX0KKworCXJldHVybiBzZWxlY3QobWF4c29jayArIDEs IHNhLCBOVUxMLCBOVUxMLCAmdGltZW91dCk7Cit9CisjZWxzZQkvKiBwcG9sbCgyKSBiYXNlZCBz b2NrZXQgcG9sbGluZyAqLworLyogcHBvbGwoKSB3aWxsIGJsb2NrIHVudGlsIHRpbWVvdXQgb3Ig b25lIG9mIFBPTExfRVZFTlRTIG9jY3Vycy4gKi8KKyNkZWZpbmUgUE9MTF9FVkVOVFMgKFBPTExS REhVUHxQT0xMSU58UE9MTFBSSSkKKy8qIHBwb2xsKCkgZXZlbnRzIHJldHVybmVkIHRoYXQgd2Ug ZG8gbm90IHdhbnQvZXhwZWN0IHRvIHNlZS4gKi8KKyNkZWZpbmUgUE9MTF9VTldBTlRFRCAoUE9M TFJESFVQfFBPTExFUlJ8UE9MTEhVUHxQT0xMTlZBTCkKKworc3RhdGljIHNvY2tldF9zZXQgKgor YWxsb2Nfc29ja2V0X3NldChpbnQgY291bnQpCit7CisJcmV0dXJuIChzb2NrZXRfc2V0ICopIHBn X21hbGxvYzAoc2l6ZW9mKHNvY2tldF9zZXQpICogY291bnQpOworfQorCitzdGF0aWMgdm9pZAor ZnJlZV9zb2NrZXRfc2V0KHNvY2tldF9zZXQgKnNhKQoreworCXBnX2ZyZWUoc2EpOworfQorCitz dGF0aWMgYm9vbAorZXJyb3Jfb25fc29ja2V0KHNvY2tldF9zZXQgKnNhLCBpbnQgaWR4LCBQR2Nv bm4gKmNvbikKK3sKKwkvKgorCSAqIE5vIGVycm9yIGlmIHNvY2tldCBub3QgdXNlZCBvciBub24t ZXJyb3Igc3RhdHVzIGZyb20gUFFzb2NrZXQoKSBhbmQgbm9uZQorCSAqIG9mIHRoZSB1bndhbnRl ZCBwcG9sbCgpIHJldHVybiBldmVudHMuCisJICovCisJaWYgKHNhW2lkeF0uZmQgPT0gLTEgfHwg KFBRc29ja2V0KGNvbikgPj0gMCAmJiAhKHNhW2lkeF0ucmV2ZW50cyAmIFBPTExfVU5XQU5URUQp KSkKKwkJcmV0dXJuIGZhbHNlOworCWZwcmludGYoc3RkZXJyLCAiaW52YWxpZCBzb2NrZXQ6ICVz IiwgUFFlcnJvck1lc3NhZ2UoY29uKSk7CisJaWYgKGRlYnVnKQorCQlmcHJpbnRmKHN0ZGVyciwg InBwb2xsKCkgZmFpbCAtIGVycm5vOiAlZCwgc29ja2V0OiAlZCwgZXZlbnRzOiAleFxuIiwKKwkJ CWVycm5vLCBzYVtpZHhdLmZkLCAoc2FbaWR4XS5yZXZlbnRzICYgUE9MTF9VTldBTlRFRCkpOwor CXJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbAoraWdub3JlX3NvY2tldChzb2NrZXRfc2V0 ICpzYSwgaW50IGlkeCwgUEdjb25uICpjb24pCit7CisJaWYgKHNhW2lkeF0uZmQgIT0gLTEgJiYg IXNhW2lkeF0ucmV2ZW50cykKKwkJcmV0dXJuIHRydWU7CisJZWxzZQorCQlyZXR1cm4gZmFsc2U7 Cit9CisKK3N0YXRpYyB2b2lkCitjbGVhcl9zb2NrZXRfc2V0KHNvY2tldF9zZXQgKnNhLCBpbnQg Y291bnQpCit7CisJaW50IGkgPSAwOworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorCQlz ZXRfc29ja2V0KHNhLCAtMSwgaSk7Cit9CisKK3N0YXRpYyB2b2lkCitzZXRfc29ja2V0KHNvY2tl dF9zZXQgKnNhLCBpbnQgZmQsIGludCBpZHgpCit7CisJc2FbaWR4XS5mZCA9IGZkOworCXNhW2lk eF0uZXZlbnRzID0gUE9MTF9FVkVOVFM7CisJc2FbaWR4XS5yZXZlbnRzID0gMDsKK30KKworc3Rh dGljIGludAord2FpdF9vbl9zb2NrZXRfc2V0KHNvY2tldF9zZXQgKnNhLCBpbnQgbnN0YXRlLCBp bnQgbWF4c29jaywgaW50NjQgdXNlYykKK3sKKwlzdHJ1Y3QgdGltZXNwZWMgdGltZW91dDsKKwor CWlmICh1c2VjKQorCXsKKwkJdGltZW91dC50dl9zZWMgPSB1c2VjIC8gMTAwMDAwMDsKKwkJdGlt ZW91dC50dl9uc2VjID0gdXNlYyAlIDEwMDAwMDAwMDA7CisJfSBlbHNlIHsKKwkJdGltZW91dC50 dl9zZWMgPSB0aW1lb3V0LnR2X25zZWMgPSAwOworCX0KKwlyZXR1cm4gcHBvbGwoc2EsIG5zdGF0 ZSwgJnRpbWVvdXQsIE5VTEwpOworfQorI2VuZGlmCS8qIFVTRV9TRUxFQ1QgKi8KKwogLyoKICAq IFN1cHBvcnQgZm9yIGR1cmF0aW9uIG9wdGlvbjogc2V0IHRpbWVyX2V4Y2VlZGVkIGFmdGVyIHNv IG1hbnkgc2Vjb25kcy4KICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmgu aW4gYi9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgppbmRleCBmOThmNzczZmYwLi42MzIwN2Ux M2ZkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgorKysgYi9zcmMvaW5j bHVkZS9wZ19jb25maWcuaC5pbgpAQCAtNDA5LDYgKzQwOSw5IEBACiAvKiBEZWZpbmUgdG8gMSBp ZiB0aGUgYXNzZW1ibGVyIHN1cHBvcnRzIFBQQydzIExXQVJYIG11dGV4IGhpbnQgYml0LiAqLwog I3VuZGVmIEhBVkVfUFBDX0xXQVJYX01VVEVYX0hJTlQKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGBwcG9sbCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9QUE9MTAorCiAvKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBzdGF0JyBmdW5jdGlvbi4gKi8KICN1bmRlZiBI QVZFX1BTVEFUCiAK --_002_81936381841A459D9FE518659680355Camazoncom_--