From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.6 required=3.0 tests=BAYES_00, CHARSET_FARAWAY_HEADER,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96EA4C433ED for ; Mon, 19 Apr 2021 12:02:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E033F61166 for ; Mon, 19 Apr 2021 12:02:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E033F61166 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=baidu.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 6B5DA6B0036; Mon, 19 Apr 2021 08:02:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 665306B006E; Mon, 19 Apr 2021 08:02:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4DF256B0070; Mon, 19 Apr 2021 08:02:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0021.hostedemail.com [216.40.44.21]) by kanga.kvack.org (Postfix) with ESMTP id 2E36E6B0036 for ; Mon, 19 Apr 2021 08:02:20 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id E3FD88249980 for ; Mon, 19 Apr 2021 12:02:19 +0000 (UTC) X-FDA: 78048978798.10.EA9F3CE Received: from baidu.com (mx20.baidu.com [111.202.115.85]) by imf02.hostedemail.com (Postfix) with ESMTP id B1CCF40002D7 for ; Mon, 19 Apr 2021 12:01:56 +0000 (UTC) Received: from BC-Mail-Ex18.internal.baidu.com (unknown [172.31.51.12]) by Forcepoint Email with ESMTPS id EBB28B0E1770E200875E; Mon, 19 Apr 2021 20:02:14 +0800 (CST) Received: from BC-Mail-Ex20.internal.baidu.com (172.31.51.14) by BC-Mail-Ex18.internal.baidu.com (172.31.51.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2242.4; Mon, 19 Apr 2021 20:02:14 +0800 Received: from BC-Mail-Ex20.internal.baidu.com ([172.31.51.14]) by BC-Mail-Ex20.internal.baidu.com ([172.31.51.14]) with mapi id 15.01.2242.008; Mon, 19 Apr 2021 20:02:14 +0800 From: "Chu,Kaiping" To: David Rientjes CC: "mcgrof@kernel.org" , "keescook@chromium.org" , "yzaikin@google.com" , "akpm@linux-foundation.org" , "linux-kernel@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-mm@kvack.org" Subject: =?gb2312?B?tPC4tDogW1BBVENIIHYyXSBtbS9jb21wYWN0aW9uOmxldCBwcm9hY3RpdmUg?= =?gb2312?Q?compaction_order_configurable?= Thread-Topic: [PATCH v2] mm/compaction:let proactive compaction order configurable Thread-Index: AQHXMwffk00b/qiy7kmhddGH667K8aq7uEqQ Date: Mon, 19 Apr 2021 12:02:14 +0000 Message-ID: <1e686e75fe71471aa94705e76bec76a5@baidu.com> References: <1618593751-32148-1-git-send-email-chukaiping@baidu.com> <7efa316c-d39b-59a5-bc52-62325127a917@google.com> In-Reply-To: <7efa316c-d39b-59a5-bc52-62325127a917@google.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.22.194.26] Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: B1CCF40002D7 X-Stat-Signature: n67eiej5fyf3dtgnsxbskjggmxhnhga3 Received-SPF: none (baidu.com>: No applicable sender policy available) receiver=imf02; identity=mailfrom; envelope-from=""; helo=baidu.com; client-ip=111.202.115.85 X-HE-DKIM-Result: none/none X-HE-Tag: 1618833716-128021 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: SGkgUmllbnRqZXOjrA0KV2UgdHVybiBvZmYgdGhlIHRyYW5zcGFyZW50IGh1Z2UgcGFnZSBpbiBv dXIgbWFjaGluZXMsIHNvIHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIG9yZGVyIDkuDQpUaGVyZSBh cmUgbWFueSB1c2VyIHNwYWNlIGFwcGxpY2F0aW9ucywgZGlmZmVyZW50IGFwcGxpY2F0aW9uIG1h eWJlIGFsbG9jYXRlIGRpZmZlcmVudCBvcmRlciBvZiBtZW1vcnksIHdlIGNhbid0IGtub3cgdGhl ICJrbm93biBvcmRlciBvZiBpbnRlcmVzdCIgaW4gYWR2YW5jZS4gT3VyIHB1cnBvc2UgaXMgdG8g a2VlcCB0aGUgb3ZlcmFsbCBmcmFnbWVudCBpbmRleCBhcyBsb3cgYXMgcG9zc2libGUsIG5vdCBj YXJlIGFib3V0IHRoZSBzcGVjaWZpYyBvcmRlci4gDQpBbHRob3VnaCBjdXJyZW50IHByb2FjdGl2 ZSBjb21wYWN0aW9uIG1lY2hhbmlzbSBvbmx5IGNoZWNrIHRoZSBmcmFnbWVudCBpbmRleCBvZiBz cGVjaWZpYyBvcmRlciwgYnV0IGl0IGNhbiBkbyBtZW1vcnkgY29tcGFjdGlvbiBmb3IgYWxsIG9y ZGVyKC5vcmRlciA9IC0xIGluIHByb2FjdGl2ZV9jb21wYWN0X25vZGUpLCBzbyBpdCdzIHN0aWxs IHVzZWZ1bCBmb3IgdXMuIA0KV2Ugc2V0IHRoZSBjb21wYWN0aW9uX29yZGVyIGFjY29yZGluZyB0 byB0aGUgYXZlcmFnZSBmcmFnbWVudCBpbmRleCBvZiBhbGwgb3VyIG1hY2hpbmVzLCBpdCdzIGFu IGV4cGVyaWVuY2UgdmFsdWUsIGl0J3MgYSBjb21wcm9taXNlIG9mIGtlZXAgbWVtb3J5IGZyYWdt ZW50IGluZGV4IGxvdyBhbmQgbm90IHRyaWdnZXIgYmFja2dyb3VuZCBjb21wYWN0aW9uIHRvbyBt dWNoLCB0aGlzIHZhbHVlIGNhbiBiZSBjaGFuZ2VkIGluIGZ1dHVyZS4NCldlIGRpZCBwZXJpb2Rp Y2FsbHkgbWVtb3J5IGNvbXBhY3Rpb24gYnkgY29tbWFuZCAiZWNobyAxID4gL3Byb2Mvc3lzL3Zt L2NvbXBhY3RfbWVtb3J5ICIgcHJldmlvdXNseSwgYnV0IGl0J3Mgbm90IGdvb2QgZW5vdWdoLCBp dCdzIHdpbGwgY29tcGFjdCBhbGwgbWVtb3J5IGZvcmNpYmx5LCBpdCBtYXkgbGVhZCB0byBsb3Rz IG9mIG1lbW9yeSBtb3ZlIGluIHNob3J0IHRpbWUsIGFuZCBhZmZlY3QgdGhlIHBlcmZvcm1hbmNl IG9mIGFwcGxpY2F0aW9uLg0KDQpCUiwNCkNodSBLYWlwaW5nDQoNCi0tLS0t08q8/tStvP4tLS0t LQ0Kt6K8/sjLOiBEYXZpZCBSaWVudGplcyA8cmllbnRqZXNAZ29vZ2xlLmNvbT4gDQq3osvNyrG8 5DogMjAyMcTqNNTCMTfI1SA1OjMxDQrK1bz+yMs6IENodSxLYWlwaW5nIDxjaHVrYWlwaW5nQGJh aWR1LmNvbT4NCrOty806IG1jZ3JvZkBrZXJuZWwub3JnOyBrZWVzY29va0BjaHJvbWl1bS5vcmc7 IHl6YWlraW5AZ29vZ2xlLmNvbTsgYWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZzsgbGludXgta2Vy bmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtZnNkZXZlbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4 LW1tQGt2YWNrLm9yZw0K1vfM4jogUmU6IFtQQVRDSCB2Ml0gbW0vY29tcGFjdGlvbjpsZXQgcHJv YWN0aXZlIGNvbXBhY3Rpb24gb3JkZXIgY29uZmlndXJhYmxlDQoNCk9uIFNhdCwgMTcgQXByIDIw MjEsIGNodWthaXBpbmcgd3JvdGU6DQoNCj4gQ3VycmVudGx5IHRoZSBwcm9hY3RpdmUgY29tcGFj dGlvbiBvcmRlciBpcyBmaXhlZCB0byANCj4gQ09NUEFDVElPTl9IUEFHRV9PUkRFUig5KSwgaXQn cyBPSyBpbiBtb3N0IG1hY2hpbmVzIHdpdGggbG90cyBvZiANCj4gbm9ybWFsIDRLQiBtZW1vcnks IGJ1dCBpdCdzIHRvbyBoaWdoIGZvciB0aGUgbWFjaGluZXMgd2l0aCBzbWFsbCANCj4gbm9ybWFs IG1lbW9yeSwgZm9yIGV4YW1wbGUgdGhlIG1hY2hpbmVzIHdpdGggbW9zdCBtZW1vcnkgY29uZmln dXJlZCBhcyANCj4gMUdCIGh1Z2V0bGJmcyBodWdlIHBhZ2VzLiBJbiB0aGVzZSBtYWNoaW5lcyB0 aGUgbWF4IG9yZGVyIG9mIGZyZWUgDQo+IHBhZ2VzIGlzIG9mdGVuIGJlbG93IDksIGFuZCBpdCdz IGFsd2F5cyBiZWxvdyA5IGV2ZW4gd2l0aCBoYXJkIA0KPiBjb21wYWN0aW9uLiBUaGlzIHdpbGwg bGVhZCB0byBwcm9hY3RpdmUgY29tcGFjdGlvbiBiZSB0cmlnZ2VyZWQgdmVyeSANCj4gZnJlcXVl bnRseS4gSW4gdGhlc2UgbWFjaGluZXMgd2Ugb25seSBjYXJlIGFib3V0IG9yZGVyIG9mIDMgb3Ig NC4NCj4gVGhpcyBwYXRjaCBleHBvcnQgdGhlIG9kZXIgdG8gcHJvYyBhbmQgbGV0IGl0IGNvbmZp Z3VyYWJsZSBieSB1c2VyLCANCj4gYW5kIHRoZSBkZWZhdWx0IHZhbHVlIGlzIHN0aWxsIENPTVBB Q1RJT05fSFBBR0VfT1JERVIuDQo+IA0KDQpTdGlsbCBub3QgZW50aXJlbHkgY2xlYXIgb24gdGhl IHVzZSBjYXNlIGJleW9uZCBodWdlcGFnZXMuICBJbiB5b3VyIHJlc3BvbnNlIGZyb20gdjEsIHlv dSBpbmRpY2F0ZWQgeW91IHdlcmUgbm90IGNvbmNlcm5lZCB3aXRoIGFsbG9jYXRpb24gbGF0ZW5j eSBvZiBodWdlcGFnZXMgYnV0IHJhdGhlciBoYWQgYSB0aHVuZGVyaW5nIGhlcmQgcHJvYmxlbSB3 aGVyZSBvbmNlIGZyYWdtZW50YXRpb24gZ290IGJhZCwgbWFueSB0aHJlYWRzIHN0YXJ0ZWQgY29t cGFjdGluZyBhbGwgYXQgb25jZS4NCg0KSSdtIG5vdCBzdXJlIHRoYXQgdHVuaW5nIHRoZSBwcm9h Y3RpdmUgY29tcGFjdGlvbiBvcmRlciBpcyB0aGUgcmlnaHQgc29sdXRpb24uICBJIHRoaW5rIHRo ZSBwcm9hY3RpdmUgY29tcGFjdGlvbiBvcmRlciBpcyBtb3JlIGFib3V0IHN0YXJ0aW5nIGNvbXBh Y3Rpb24gd2hlbiBhIGtub3duIG9yZGVyIG9mIGludGVyZXN0IChsaWtlIGEgaHVnZXBhZ2UpIGlz IGZ1bGx5IGRlcGxldGVkIGFuZCB3ZSB3YW50IGEgcGFnZSBvZiB0aGF0IG9yZGVyIHNvIHRoZSBp ZGVhIGlzIHRvIHN0YXJ0IHJlY292ZXJpbmcgZnJvbSB0aGF0IHNpdHVhdGlvbi4NCg0KSXMgdGhp cyBub3QgYSB1c2Vyc3BhY2UgcG9saWN5IGRlY2lzaW9uPyAgSSdtIHdvbmRlcmluZyBpZiBpdCB3 b3VsZCBzaW1wbHkgYmUgYmV0dGVyIHRvIG1hbnVhbGx5IGludm9rZSBjb21wYWN0aW9uIHBlcmlv ZGljYWxseSBvciB3aGVuIHRoZSBmcmFnbWVudGF0aW9uIHJhdGlvIGhhcyByZWFjaGVkIGEgY2Vy dGFpbiBsZXZlbC4gIFlvdSBjYW4gbWFudWFsbHkgaW52b2tlIGNvbXBhY3Rpb24geW91cnNlbGYg dGhyb3VnaCBzeXNmcyBmb3IgZWFjaCBub2RlIG9uIHRoZSBzeXN0ZW0uDQoNCj4gU2lnbmVkLW9m Zi1ieTogY2h1a2FpcGluZyA8Y2h1a2FpcGluZ0BiYWlkdS5jb20+DQo+IFJlcG9ydGVkLWJ5OiBr ZXJuZWwgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT4NCj4gLS0tDQo+IA0KPiBDaGFuZ2VzIGlu IHYyOg0KPiAgICAgLSBmaXggdGhlIGNvbXBpbGUgZXJyb3IgaW4gaWE2NCBhbmQgcG93ZXJwYw0K PiAgICAgLSBjaGFuZ2UgdGhlIGhhcmQgY29kZWQgbWF4IG9yZGVyIG51bWJlciBmcm9tIDEwIHRv IE1BWF9PUkRFUiAtIDENCj4gDQo+ICBpbmNsdWRlL2xpbnV4L2NvbXBhY3Rpb24uaCB8ICAgIDEg Kw0KPiAga2VybmVsL3N5c2N0bC5jICAgICAgICAgICAgfCAgIDExICsrKysrKysrKysrDQo+ICBt bS9jb21wYWN0aW9uLmMgICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKystLS0NCj4gIDMgZmls ZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYg LS1naXQgYS9pbmNsdWRlL2xpbnV4L2NvbXBhY3Rpb24uaCBiL2luY2x1ZGUvbGludXgvY29tcGFj dGlvbi5oIA0KPiBpbmRleCBlZDQwNzBlLi4xNTFjY2QxIDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRl L2xpbnV4L2NvbXBhY3Rpb24uaA0KPiArKysgYi9pbmNsdWRlL2xpbnV4L2NvbXBhY3Rpb24uaA0K PiBAQCAtODMsNiArODMsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY29tcGFjdF9n YXAodW5zaWduZWQgaW50IA0KPiBvcmRlcikgICNpZmRlZiBDT05GSUdfQ09NUEFDVElPTiAgZXh0 ZXJuIGludCBzeXNjdGxfY29tcGFjdF9tZW1vcnk7ICANCj4gZXh0ZXJuIHVuc2lnbmVkIGludCBz eXNjdGxfY29tcGFjdGlvbl9wcm9hY3RpdmVuZXNzOw0KPiArZXh0ZXJuIHVuc2lnbmVkIGludCBz eXNjdGxfY29tcGFjdGlvbl9vcmRlcjsNCj4gIGV4dGVybiBpbnQgc3lzY3RsX2NvbXBhY3Rpb25f aGFuZGxlcihzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLA0KPiAgCQkJdm9pZCAq YnVmZmVyLCBzaXplX3QgKmxlbmd0aCwgbG9mZl90ICpwcG9zKTsgIGV4dGVybiBpbnQgDQo+IHN5 c2N0bF9leHRmcmFnX3RocmVzaG9sZDsgZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXNjdGwuYyANCj4g Yi9rZXJuZWwvc3lzY3RsLmMgaW5kZXggNjJmYmQwOS4uYTYwN2Q0ZCAxMDA2NDQNCj4gLS0tIGEv a2VybmVsL3N5c2N0bC5jDQo+ICsrKyBiL2tlcm5lbC9zeXNjdGwuYw0KPiBAQCAtMTk1LDYgKzE5 NSw4IEBAIGVudW0gc3lzY3RsX3dyaXRlc19tb2RlIHsgICNlbmRpZiAvKiBDT05GSUdfU01QICov ICANCj4gI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9ERUJVRyAqLw0KPiAgDQo+ICtzdGF0aWMgaW50 IG1heF9idWRkeV96b25lID0gTUFYX09SREVSIC0gMTsNCj4gKw0KPiAgI2lmZGVmIENPTkZJR19D T01QQUNUSU9ODQo+ICBzdGF0aWMgaW50IG1pbl9leHRmcmFnX3RocmVzaG9sZDsNCj4gIHN0YXRp YyBpbnQgbWF4X2V4dGZyYWdfdGhyZXNob2xkID0gMTAwMDsgQEAgLTI4NzEsNiArMjg3MywxNSBA QCBpbnQgDQo+IHByb2NfZG9fc3RhdGljX2tleShzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50 IHdyaXRlLA0KPiAgCQkuZXh0cmEyCQk9ICZvbmVfaHVuZHJlZCwNCj4gIAl9LA0KPiAgCXsNCj4g KwkJLnByb2NuYW1lICAgICAgID0gImNvbXBhY3Rpb25fb3JkZXIiLA0KPiArCQkuZGF0YSAgICAg ICAgICAgPSAmc3lzY3RsX2NvbXBhY3Rpb25fb3JkZXIsDQo+ICsJCS5tYXhsZW4gICAgICAgICA9 IHNpemVvZihzeXNjdGxfY29tcGFjdGlvbl9vcmRlciksDQo+ICsJCS5tb2RlICAgICAgICAgICA9 IDA2NDQsDQo+ICsJCS5wcm9jX2hhbmRsZXIgICA9IHByb2NfZG9pbnR2ZWNfbWlubWF4LA0KPiAr CQkuZXh0cmExICAgICAgICAgPSBTWVNDVExfWkVSTywNCj4gKwkJLmV4dHJhMiAgICAgICAgID0g Jm1heF9idWRkeV96b25lLA0KPiArCX0sDQo+ICsJew0KPiAgCQkucHJvY25hbWUJPSAiZXh0ZnJh Z190aHJlc2hvbGQiLA0KPiAgCQkuZGF0YQkJPSAmc3lzY3RsX2V4dGZyYWdfdGhyZXNob2xkLA0K PiAgCQkubWF4bGVuCQk9IHNpemVvZihpbnQpLA0KPiBkaWZmIC0tZ2l0IGEvbW0vY29tcGFjdGlv bi5jIGIvbW0vY29tcGFjdGlvbi5jIGluZGV4IGUwNGY0NDcuLmJmZDFkNWUgDQo+IDEwMDY0NA0K PiAtLS0gYS9tbS9jb21wYWN0aW9uLmMNCj4gKysrIGIvbW0vY29tcGFjdGlvbi5jDQo+IEBAIC0x OTI1LDE2ICsxOTI1LDE2IEBAIHN0YXRpYyBib29sIGtzd2FwZF9pc19ydW5uaW5nKHBnX2RhdGFf dCANCj4gKnBnZGF0KQ0KPiAgDQo+ICAvKg0KPiAgICogQSB6b25lJ3MgZnJhZ21lbnRhdGlvbiBz Y29yZSBpcyB0aGUgZXh0ZXJuYWwgZnJhZ21lbnRhdGlvbiB3cnQgdG8gDQo+IHRoZQ0KPiAtICog Q09NUEFDVElPTl9IUEFHRV9PUkRFUi4gSXQgcmV0dXJucyBhIHZhbHVlIGluIHRoZSByYW5nZSBb MCwgMTAwXS4NCj4gKyAqIHN5c2N0bF9jb21wYWN0aW9uX29yZGVyLiBJdCByZXR1cm5zIGEgdmFs dWUgaW4gdGhlIHJhbmdlIFswLCAxMDBdLg0KPiAgICovDQo+ICBzdGF0aWMgdW5zaWduZWQgaW50 IGZyYWdtZW50YXRpb25fc2NvcmVfem9uZShzdHJ1Y3Qgem9uZSAqem9uZSkgIHsNCj4gLQlyZXR1 cm4gZXh0ZnJhZ19mb3Jfb3JkZXIoem9uZSwgQ09NUEFDVElPTl9IUEFHRV9PUkRFUik7DQo+ICsJ cmV0dXJuIGV4dGZyYWdfZm9yX29yZGVyKHpvbmUsIHN5c2N0bF9jb21wYWN0aW9uX29yZGVyKTsN Cj4gIH0NCj4gIA0KPiAgLyoNCj4gICAqIEEgd2VpZ2h0ZWQgem9uZSdzIGZyYWdtZW50YXRpb24g c2NvcmUgaXMgdGhlIGV4dGVybmFsIA0KPiBmcmFnbWVudGF0aW9uDQo+IC0gKiB3cnQgdG8gdGhl IENPTVBBQ1RJT05fSFBBR0VfT1JERVIgc2NhbGVkIGJ5IHRoZSB6b25lJ3Mgc2l6ZS4gSXQNCj4g KyAqIHdydCB0byB0aGUgc3lzY3RsX2NvbXBhY3Rpb25fb3JkZXIgc2NhbGVkIGJ5IHRoZSB6b25l J3Mgc2l6ZS4gSXQNCj4gICAqIHJldHVybnMgYSB2YWx1ZSBpbiB0aGUgcmFuZ2UgWzAsIDEwMF0u DQo+ICAgKg0KPiAgICogVGhlIHNjYWxpbmcgZmFjdG9yIGVuc3VyZXMgdGhhdCBwcm9hY3RpdmUg Y29tcGFjdGlvbiBmb2N1c2VzIG9uIA0KPiBsYXJnZXIgQEAgLTI2NjYsNiArMjY2Niw3IEBAIHN0 YXRpYyB2b2lkIGNvbXBhY3Rfbm9kZXModm9pZCkNCj4gICAqIGJhY2tncm91bmQuIEl0IHRha2Vz IHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzAsIDEwMF0uDQo+ICAgKi8NCj4gIHVuc2lnbmVkIGludCBf X3JlYWRfbW9zdGx5IHN5c2N0bF9jb21wYWN0aW9uX3Byb2FjdGl2ZW5lc3MgPSAyMDsNCj4gK3Vu c2lnbmVkIGludCBfX3JlYWRfbW9zdGx5IHN5c2N0bF9jb21wYWN0aW9uX29yZGVyOw0KPiAgDQo+ ICAvKg0KPiAgICogVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIGNvbXBhY3RpbmcgYWxsIG5v ZGVzIHZpYSBAQCAtMjk1OCw2IA0KPiArMjk1OSwxMyBAQCBzdGF0aWMgaW50IF9faW5pdCBrY29t cGFjdGRfaW5pdCh2b2lkKQ0KPiAgCWludCBuaWQ7DQo+ICAJaW50IHJldDsNCj4gIA0KPiArCS8q DQo+ICsJICogbW92ZSB0aGUgaW5pdGlhbGl6YXRpb24gb2Ygc3lzY3RsX2NvbXBhY3Rpb25fb3Jk ZXIgdG8gaGVyZSB0bw0KPiArCSAqIGVsaW1pbmF0ZSBjb21waWxlIGVycm9yIGluIGlhNjQgYW5k IHBvd2VycGMgYXJjaGl0ZWN0dXJlIGJlY2F1c2UNCj4gKwkgKiBDT01QQUNUSU9OX0hQQUdFX09S REVSIGlzIGEgdmFyaWFibGUgaW4gdGhpcyBhcmNoaXRlY3R1cmUNCj4gKwkgKi8NCj4gKwlzeXNj dGxfY29tcGFjdGlvbl9vcmRlciA9IENPTVBBQ1RJT05fSFBBR0VfT1JERVI7DQo+ICsNCj4gIAly ZXQgPSBjcHVocF9zZXR1cF9zdGF0ZV9ub2NhbGxzKENQVUhQX0FQX09OTElORV9EWU4sDQo+ICAJ CQkJCSJtbS9jb21wYWN0aW9uOm9ubGluZSIsDQo+ICAJCQkJCWtjb21wYWN0ZF9jcHVfb25saW5l LCBOVUxMKTsNCj4gLS0NCj4gMS43LjENCj4gDQo+IA0KPiANCg==