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=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 B30EDC47082 for ; Tue, 1 Jun 2021 01:15:51 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D5FC16135C for ; Tue, 1 Jun 2021 01:15:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D5FC16135C 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 45D058D0002; Mon, 31 May 2021 21:15:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 40D1F6B006E; Mon, 31 May 2021 21:15:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 286FF8D0002; Mon, 31 May 2021 21:15:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0180.hostedemail.com [216.40.44.180]) by kanga.kvack.org (Postfix) with ESMTP id E620B6B006C for ; Mon, 31 May 2021 21:15:49 -0400 (EDT) Received: from smtpin34.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 78BC88249980 for ; Tue, 1 Jun 2021 01:15:49 +0000 (UTC) X-FDA: 78203388018.34.FD1F1BC Received: from baidu.com (mx20.baidu.com [111.202.115.85]) by imf03.hostedemail.com (Postfix) with ESMTP id 0D54AC00CBE7 for ; Tue, 1 Jun 2021 01:15:33 +0000 (UTC) Received: from BC-Mail-Ex19.internal.baidu.com (unknown [172.31.51.13]) by Forcepoint Email with ESMTPS id 6869AD47FFFE83147BB7; Tue, 1 Jun 2021 09:15:42 +0800 (CST) Received: from BC-Mail-Ex20.internal.baidu.com (172.31.51.14) by BC-Mail-Ex19.internal.baidu.com (172.31.51.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2242.4; Tue, 1 Jun 2021 09:15:42 +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; Tue, 1 Jun 2021 09:15:42 +0800 From: "Chu,Kaiping" To: Vlastimil Babka , "mcgrof@kernel.org" , "keescook@chromium.org" , "yzaikin@google.com" , "akpm@linux-foundation.org" , "nigupta@nvidia.com" , "bhe@redhat.com" , "khalid.aziz@oracle.com" , "iamjoonsoo.kim@lge.com" , "mateusznosek0@gmail.com" , "sh_def@163.com" CC: "linux-kernel@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-mm@kvack.org" Subject: =?utf-8?B?562U5aSNOiBbUEFUQ0ggdjRdIG1tL2NvbXBhY3Rpb246IGxldCBwcm9hY3Rp?= =?utf-8?Q?ve_compaction_order_configurable?= Thread-Topic: [PATCH v4] mm/compaction: let proactive compaction order configurable Thread-Index: AQHXU+jUuGTRst2hN0Oxvb824V5mK6r+XiBw Date: Tue, 1 Jun 2021 01:15:41 +0000 Message-ID: References: <1619576901-9531-1-git-send-email-chukaiping@baidu.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.22.193.252] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspamd-Queue-Id: 0D54AC00CBE7 Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf03.hostedemail.com: domain of chukaiping@baidu.com designates 111.202.115.85 as permitted sender) smtp.mailfrom=chukaiping@baidu.com X-Rspamd-Server: rspam04 X-Stat-Signature: h65opknseto7kympn3dnqj5i7gwfndg5 X-HE-Tag: 1622510133-632430 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: DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFZsYXN0aW1pbCBCYWJr YSA8dmJhYmthQHN1c2UuY3o+DQo+IOWPkemAgeaXtumXtDogMjAyMeW5tDXmnIgyOeaXpSAxOjQy DQo+IOaUtuS7tuS6ujogQ2h1LEthaXBpbmcgPGNodWthaXBpbmdAYmFpZHUuY29tPjsgbWNncm9m QGtlcm5lbC5vcmc7DQo+IGtlZXNjb29rQGNocm9taXVtLm9yZzsgeXphaWtpbkBnb29nbGUuY29t OyBha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnOw0KPiBuaWd1cHRhQG52aWRpYS5jb207IGJoZUBy ZWRoYXQuY29tOyBraGFsaWQuYXppekBvcmFjbGUuY29tOw0KPiBpYW1qb29uc29vLmtpbUBsZ2Uu Y29tOyBtYXRldXN6bm9zZWswQGdtYWlsLmNvbTsgc2hfZGVmQDE2My5jb20NCj4g5oqE6YCBOiBs aW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1mc2RldmVsQHZnZXIua2VybmVsLm9y ZzsNCj4gbGludXgtbW1Aa3ZhY2sub3JnDQo+IOS4u+mimDogUmU6IFtQQVRDSCB2NF0gbW0vY29t cGFjdGlvbjogbGV0IHByb2FjdGl2ZSBjb21wYWN0aW9uIG9yZGVyDQo+IGNvbmZpZ3VyYWJsZQ0K PiANCj4gT24gNC8yOC8yMSA0OjI4IEFNLCBjaHVrYWlwaW5nIHdyb3RlOg0KPiA+IEN1cnJlbnRs eSB0aGUgcHJvYWN0aXZlIGNvbXBhY3Rpb24gb3JkZXIgaXMgZml4ZWQgdG8NCj4gPiBDT01QQUNU SU9OX0hQQUdFX09SREVSKDkpLCBpdCdzIE9LIGluIG1vc3QgbWFjaGluZXMgd2l0aCBsb3RzIG9m DQo+ID4gbm9ybWFsIDRLQiBtZW1vcnksIGJ1dCBpdCdzIHRvbyBoaWdoIGZvciB0aGUgbWFjaGlu ZXMgd2l0aCBzbWFsbA0KPiA+IG5vcm1hbCBtZW1vcnksIGZvciBleGFtcGxlIHRoZSBtYWNoaW5l cyB3aXRoIG1vc3QgbWVtb3J5IGNvbmZpZ3VyZWQgYXMNCj4gPiAxR0IgaHVnZXRsYmZzIGh1Z2Ug cGFnZXMuIEluIHRoZXNlIG1hY2hpbmVzIHRoZSBtYXggb3JkZXIgb2YgZnJlZQ0KPiA+IHBhZ2Vz IGlzIG9mdGVuIGJlbG93IDksIGFuZCBpdCdzIGFsd2F5cyBiZWxvdyA5IGV2ZW4gd2l0aCBoYXJk DQo+ID4gY29tcGFjdGlvbi4gVGhpcyB3aWxsIGxlYWQgdG8gcHJvYWN0aXZlIGNvbXBhY3Rpb24g YmUgdHJpZ2dlcmVkIHZlcnkNCj4gPiBmcmVxdWVudGx5Lg0KPiANCj4gQ291bGQgeW91IGJlIG1v cmUgY29uY3JldGUgYWJvdXQgInZlcnkgZnJlcXVlbnRseSI/IFRoZXJlJ3MgYQ0KPiBwcm9hY3Rp dmVfZGVmZXIgbWVjaGFuaXNtIHRoYXQgc2hvdWxkIGhlbHAgaGVyZS4gTm9ybWFsbHkgdGhlIHBy b2FjdGl2ZQ0KPiBjb21wYWN0aW9uIGF0dGVtcHQgaGFwcGVucyBlYWNoIDUwMG1zLCBidXQgaWYg aXQgZmFpbHMgdG8gaW1wcm92ZSB0aGUNCj4gZnJhZ21lbnRhdGlvbiBzY29yZSwgaXQgZGVmZXJz IGZvciAzMiBzZWNvbmRzLiBTbyBpcyAzMiBzZWNvbmRzIHN0aWxsIHRvbw0KPiBmcmVxdWVudD8g T3IgdGhlIHNjb3JlIGRvZXMgaW1wcm92ZSB0aHVzIGRlZmVyIGRvZXNuJ3QgaGFwcGVuLCBidXQg dGhlIGNvc3QNCj4gb2YgdGhhdCBpbXByb3ZlbWVudCBpcyB0b28gaGlnaCBjb21wYXJlZCB0byB0 aGUgYW1vdW50IG9mIHRoZQ0KPiBpbXByb3ZlbWVudD8NCkkgZGlkbid0IG1lYXN1cmUgdGhlIGZy ZXF1ZW5jeSBhY2N1cmF0ZWx5LCBJIG9ubHkganVkZ2UgaXQgZnJvbSBjb2RlLiBUaGUgZGVmZXIg b2YgMzIgc2Vjb25kcyBpcyBzdGlsbCB2ZXJ5IHNob3J0IHRvIHVzLCB3ZSB3YW50IHRoZSBwcm9h Y3RpdmUgY29tcGFjdGlvbiBydW5uaW5nIHBlcmlvZCB0byBiZSBob3Vycy4NCg0KPiANCj4gPiBJ biB0aGVzZSBtYWNoaW5lcyB3ZSBvbmx5IGNhcmUgYWJvdXQgb3JkZXIgb2YgMyBvciA0Lg0KPiA+ IFRoaXMgcGF0Y2ggZXhwb3J0IHRoZSBvZGVyIHRvIHByb2MgYW5kIGxldCBpdCBjb25maWd1cmFi bGUgYnkgdXNlciwNCj4gPiBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgaXMgc3RpbGwgQ09NUEFDVElP Tl9IUEFHRV9PUkRFUi4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IGNodWthaXBpbmcgPGNodWth aXBpbmdAYmFpZHUuY29tPg0KPiA+IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVzdCByb2JvdCA8bGtw QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPg0KPiA+IENoYW5nZXMgaW4gdjQ6DQo+ID4gICAgIC0g Y2hhbmdlIHRoZSBzeXNjdGwgZmlsZSBuYW1lIHRvIHByb2FjdGl2ZV9jb21wYXRpb25fb3JkZXIN Cj4gPg0KPiA+IENoYW5nZXMgaW4gdjM6DQo+ID4gICAgIC0gY2hhbmdlIHRoZSBtaW4gdmFsdWUg b2YgY29tcGFjdGlvbl9vcmRlciB0byAxIGJlY2F1c2UgdGhlDQo+IGZyYWdtZW50YXRpb24NCj4g PiAgICAgICBpbmRleCBvZiBvcmRlciAwIGlzIGFsd2F5cyAwDQo+ID4gICAgIC0gbW92ZSB0aGUg ZGVmaW5pdGlvbiBvZiBtYXhfYnVkZHlfem9uZSBpbnRvICNpZmRlZg0KPiA+IENPTkZJR19DT01Q QUNUSU9ODQo+ID4NCj4gPiBDaGFuZ2VzIGluIHYyOg0KPiA+ICAgICAtIGZpeCB0aGUgY29tcGls ZSBlcnJvciBpbiBpYTY0IGFuZCBwb3dlcnBjLCBtb3ZlIHRoZSBpbml0aWFsaXphdGlvbg0KPiA+ ICAgICAgIG9mIHN5c2N0bF9jb21wYWN0aW9uX29yZGVyIHRvIGtjb21wYWN0ZF9pbml0IGJlY2F1 c2UNCj4gPiAgICAgICBDT01QQUNUSU9OX0hQQUdFX09SREVSIGlzIGEgdmFyaWFibGUgaW4gdGhl c2UgYXJjaGl0ZWN0dXJlcw0KPiA+ICAgICAtIGNoYW5nZSB0aGUgaGFyZCBjb2RlZCBtYXggb3Jk ZXIgbnVtYmVyIGZyb20gMTAgdG8gTUFYX09SREVSIC0gMQ0KPiA+DQo+ID4gIGluY2x1ZGUvbGlu dXgvY29tcGFjdGlvbi5oIHwgICAgMSArDQo+ID4gIGtlcm5lbC9zeXNjdGwuYyAgICAgICAgICAg IHwgICAxMCArKysrKysrKysrDQo+ID4gIG1tL2NvbXBhY3Rpb24uYyAgICAgICAgICAgIHwgICAx MiArKysrKysrKy0tLS0NCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY29tcGFj dGlvbi5oIGIvaW5jbHVkZS9saW51eC9jb21wYWN0aW9uLmgNCj4gPiBpbmRleCBlZDQwNzBlLi5h MDIyNmIxIDEwMDY0NA0KPiA+IC0tLSBhL2luY2x1ZGUvbGludXgvY29tcGFjdGlvbi5oDQo+ID4g KysrIGIvaW5jbHVkZS9saW51eC9jb21wYWN0aW9uLmgNCj4gPiBAQCAtODMsNiArODMsNyBAQCBz dGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY29tcGFjdF9nYXAodW5zaWduZWQgaW50DQo+ID4g b3JkZXIpICAjaWZkZWYgQ09ORklHX0NPTVBBQ1RJT04gIGV4dGVybiBpbnQgc3lzY3RsX2NvbXBh Y3RfbWVtb3J5Ow0KPiA+IGV4dGVybiB1bnNpZ25lZCBpbnQgc3lzY3RsX2NvbXBhY3Rpb25fcHJv YWN0aXZlbmVzczsNCj4gPiArZXh0ZXJuIHVuc2lnbmVkIGludCBzeXNjdGxfcHJvYWN0aXZlX2Nv bXBhY3Rpb25fb3JkZXI7DQo+ID4gIGV4dGVybiBpbnQgc3lzY3RsX2NvbXBhY3Rpb25faGFuZGxl cihzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLA0KPiA+ICAJCQl2b2lkICpidWZm ZXIsIHNpemVfdCAqbGVuZ3RoLCBsb2ZmX3QgKnBwb3MpOyAgZXh0ZXJuIGludA0KPiA+IHN5c2N0 bF9leHRmcmFnX3RocmVzaG9sZDsgZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXNjdGwuYw0KPiA+IGIv a2VybmVsL3N5c2N0bC5jIGluZGV4IDYyZmJkMDkuLmVkOTAxMmUgMTAwNjQ0DQo+ID4gLS0tIGEv a2VybmVsL3N5c2N0bC5jDQo+ID4gKysrIGIva2VybmVsL3N5c2N0bC5jDQo+ID4gQEAgLTE5Niw2 ICsxOTYsNyBAQCBlbnVtIHN5c2N0bF93cml0ZXNfbW9kZSB7ICAjZW5kaWYgLyoNCj4gPiBDT05G SUdfU0NIRURfREVCVUcgKi8NCj4gPg0KPiA+ICAjaWZkZWYgQ09ORklHX0NPTVBBQ1RJT04NCj4g PiArc3RhdGljIGludCBtYXhfYnVkZHlfem9uZSA9IE1BWF9PUkRFUiAtIDE7DQo+ID4gIHN0YXRp YyBpbnQgbWluX2V4dGZyYWdfdGhyZXNob2xkOw0KPiA+ICBzdGF0aWMgaW50IG1heF9leHRmcmFn X3RocmVzaG9sZCA9IDEwMDA7ICAjZW5kaWYgQEAgLTI4NzEsNiArMjg3MiwxNQ0KPiA+IEBAIGlu dCBwcm9jX2RvX3N0YXRpY19rZXkoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwN Cj4gPiAgCQkuZXh0cmEyCQk9ICZvbmVfaHVuZHJlZCwNCj4gPiAgCX0sDQo+ID4gIAl7DQo+ID4g KwkJLnByb2NuYW1lICAgICAgID0gInByb2FjdGl2ZV9jb21wYXRpb25fb3JkZXIiLA0KPiA+ICsJ CS5kYXRhICAgICAgICAgICA9ICZzeXNjdGxfcHJvYWN0aXZlX2NvbXBhY3Rpb25fb3JkZXIsDQo+ ID4gKwkJLm1heGxlbiAgICAgICAgID0gc2l6ZW9mKHN5c2N0bF9wcm9hY3RpdmVfY29tcGFjdGlv bl9vcmRlciksDQo+ID4gKwkJLm1vZGUgICAgICAgICAgID0gMDY0NCwNCj4gPiArCQkucHJvY19o YW5kbGVyICAgPSBwcm9jX2RvaW50dmVjX21pbm1heCwNCj4gPiArCQkuZXh0cmExICAgICAgICAg PSBTWVNDVExfT05FLA0KPiA+ICsJCS5leHRyYTIgICAgICAgICA9ICZtYXhfYnVkZHlfem9uZSwN Cj4gPiArCX0sDQo+ID4gKwl7DQo+ID4gIAkJLnByb2NuYW1lCT0gImV4dGZyYWdfdGhyZXNob2xk IiwNCj4gPiAgCQkuZGF0YQkJPSAmc3lzY3RsX2V4dGZyYWdfdGhyZXNob2xkLA0KPiA+ICAJCS5t YXhsZW4JCT0gc2l6ZW9mKGludCksDQo+ID4gZGlmZiAtLWdpdCBhL21tL2NvbXBhY3Rpb24uYyBi L21tL2NvbXBhY3Rpb24uYyBpbmRleCBlMDRmNDQ3Li4xNzE0MzZlDQo+ID4gMTAwNjQ0DQo+ID4g LS0tIGEvbW0vY29tcGFjdGlvbi5jDQo+ID4gKysrIGIvbW0vY29tcGFjdGlvbi5jDQo+ID4gQEAg LTE5MjUsMTcgKzE5MjUsMTggQEAgc3RhdGljIGJvb2wga3N3YXBkX2lzX3J1bm5pbmcocGdfZGF0 YV90DQo+ID4gKnBnZGF0KQ0KPiA+DQo+ID4gIC8qDQo+ID4gICAqIEEgem9uZSdzIGZyYWdtZW50 YXRpb24gc2NvcmUgaXMgdGhlIGV4dGVybmFsIGZyYWdtZW50YXRpb24gd3J0IHRvDQo+ID4gdGhl DQo+ID4gLSAqIENPTVBBQ1RJT05fSFBBR0VfT1JERVIuIEl0IHJldHVybnMgYSB2YWx1ZSBpbiB0 aGUgcmFuZ2UgWzAsIDEwMF0uDQo+ID4gKyAqIHN5c2N0bF9wcm9hY3RpdmVfY29tcGFjdGlvbl9v cmRlci4gSXQgcmV0dXJucyBhIHZhbHVlIGluIHRoZSByYW5nZQ0KPiA+ICsgKiBbMCwgMTAwXS4N Cj4gPiAgICovDQo+ID4gIHN0YXRpYyB1bnNpZ25lZCBpbnQgZnJhZ21lbnRhdGlvbl9zY29yZV96 b25lKHN0cnVjdCB6b25lICp6b25lKSAgew0KPiA+IC0JcmV0dXJuIGV4dGZyYWdfZm9yX29yZGVy KHpvbmUsIENPTVBBQ1RJT05fSFBBR0VfT1JERVIpOw0KPiA+ICsJcmV0dXJuIGV4dGZyYWdfZm9y X29yZGVyKHpvbmUsIHN5c2N0bF9wcm9hY3RpdmVfY29tcGFjdGlvbl9vcmRlcik7DQo+ID4gIH0N Cj4gPg0KPiA+ICAvKg0KPiA+ICAgKiBBIHdlaWdodGVkIHpvbmUncyBmcmFnbWVudGF0aW9uIHNj b3JlIGlzIHRoZSBleHRlcm5hbA0KPiA+IGZyYWdtZW50YXRpb24NCj4gPiAtICogd3J0IHRvIHRo ZSBDT01QQUNUSU9OX0hQQUdFX09SREVSIHNjYWxlZCBieSB0aGUgem9uZSdzIHNpemUuIEl0DQo+ ID4gLSAqIHJldHVybnMgYSB2YWx1ZSBpbiB0aGUgcmFuZ2UgWzAsIDEwMF0uDQo+ID4gKyAqIHdy dCB0byB0aGUgc3lzY3RsX3Byb2FjdGl2ZV9jb21wYWN0aW9uX29yZGVyIHNjYWxlZCBieSB0aGUg em9uZSdzIHNpemUuDQo+ID4gKyAqIEl0IHJldHVybnMgYSB2YWx1ZSBpbiB0aGUgcmFuZ2UgWzAs IDEwMF0uDQo+ID4gICAqDQo+ID4gICAqIFRoZSBzY2FsaW5nIGZhY3RvciBlbnN1cmVzIHRoYXQg cHJvYWN0aXZlIGNvbXBhY3Rpb24gZm9jdXNlcyBvbiBsYXJnZXINCj4gPiAgICogem9uZXMgbGlr ZSBaT05FX05PUk1BTCwgcmF0aGVyIHRoYW4gc21hbGxlciwgc3BlY2lhbGl6ZWQgem9uZXMNCj4g PiBsaWtlIEBAIC0yNjY2LDYgKzI2NjcsNyBAQCBzdGF0aWMgdm9pZCBjb21wYWN0X25vZGVzKHZv aWQpDQo+ID4gICAqIGJhY2tncm91bmQuIEl0IHRha2VzIHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzAs IDEwMF0uDQo+ID4gICAqLw0KPiA+ICB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBzeXNjdGxf Y29tcGFjdGlvbl9wcm9hY3RpdmVuZXNzID0gMjA7DQo+ID4gK3Vuc2lnbmVkIGludCBfX3JlYWRf bW9zdGx5IHN5c2N0bF9wcm9hY3RpdmVfY29tcGFjdGlvbl9vcmRlcjsNCj4gPg0KPiA+ICAvKg0K PiA+ICAgKiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgY29tcGFjdGluZyBhbGwgbm9kZXMg dmlhIEBAIC0yOTU4LDYNCj4gPiArMjk2MCw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGtjb21wYWN0 ZF9pbml0KHZvaWQpDQo+ID4gIAlpbnQgbmlkOw0KPiA+ICAJaW50IHJldDsNCj4gPg0KPiA+ICsJ c3lzY3RsX3Byb2FjdGl2ZV9jb21wYWN0aW9uX29yZGVyID0gQ09NUEFDVElPTl9IUEFHRV9PUkRF UjsNCj4gPiArDQo+ID4gIAlyZXQgPSBjcHVocF9zZXR1cF9zdGF0ZV9ub2NhbGxzKENQVUhQX0FQ X09OTElORV9EWU4sDQo+ID4gIAkJCQkJIm1tL2NvbXBhY3Rpb246b25saW5lIiwNCj4gPiAgCQkJ CQlrY29tcGFjdGRfY3B1X29ubGluZSwgTlVMTCk7DQo+ID4NCg0K