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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 37F83C28B20 for ; Wed, 2 Apr 2025 10:35:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 20696280005; Wed, 2 Apr 2025 06:35:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 16593280001; Wed, 2 Apr 2025 06:35:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 00682280005; Wed, 2 Apr 2025 06:35:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id D2665280001 for ; Wed, 2 Apr 2025 06:35:53 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id F2EEB1201AD for ; Wed, 2 Apr 2025 10:35:54 +0000 (UTC) X-FDA: 83288748228.01.E764320 Received: from mail.actia.se (mail.actia.se [212.181.117.226]) by imf21.hostedemail.com (Postfix) with ESMTP id 0F0EB1C0007 for ; Wed, 2 Apr 2025 10:35:51 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=none; spf=pass (imf21.hostedemail.com: domain of john.ernberg@actia.se designates 212.181.117.226 as permitted sender) smtp.mailfrom=john.ernberg@actia.se; dmarc=pass (policy=none) header.from=actia.se ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743590152; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YYXBiBGm9kxjtWsODxGnP5Md+/tYc3aFAdsOhTW6SGk=; b=DBcWrE6oq0Qb7HXqIwMlbV6CFnk9aQMxwCJY8loH63tekpw2PIVK0brBhGsH06XH/K9S0A i158bPIzFhgljoPcN6bYJ06kRjBiA2OguNyubZN1f2qrgP9FNsyciMLnCyGBxvGgCXKkHX COP2GDzbl349Me80rqe2yjRCk8C+U7Y= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743590152; a=rsa-sha256; cv=none; b=qvprC6lzz9FK3ONjcGrgAS/CnthGRm2RuQTi9Yn0QQMXGVTNUEc3s7o5Zdq+yXqKG+BBJ6 fIFYRvm/o4+RqYCpwTFUVJDuIiEzpC6bHyUtlsXkDrt9cSHIQfiV95TPLmM6+mnvvOzrAS Ciry2P4KMcLcPfPOzEh0QD9vkAbPInk= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=none; spf=pass (imf21.hostedemail.com: domain of john.ernberg@actia.se designates 212.181.117.226 as permitted sender) smtp.mailfrom=john.ernberg@actia.se; dmarc=pass (policy=none) header.from=actia.se Received: from S036ANL.actianordic.se (10.12.31.117) by S035ANL.actianordic.se (10.12.31.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 2 Apr 2025 12:35:49 +0200 Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%3]) with mapi id 15.01.2507.039; Wed, 2 Apr 2025 12:35:49 +0200 From: John Ernberg To: Catalin Marinas CC: Peter Chen , Pawel Laszczak , Roger Quadros , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , "linux-usb@vger.kernel.org" , "imx@lists.linux.dev" , Jonas Blixt Subject: Re: [PATCH v7 00/17] mm, dma, arm64: Reduce ARCH_KMALLOC_MINALIGN to 8 Thread-Topic: [PATCH v7 00/17] mm, dma, arm64: Reduce ARCH_KMALLOC_MINALIGN to 8 Thread-Index: AQHboAAzgh/yl+5aq0iI+AsHqQOMo7OO6OaAgAErkQA= Date: Wed, 2 Apr 2025 10:35:49 +0000 Message-ID: <4bbe4f50-a272-4135-aa9d-b9afe1780585@actia.se> References: <20230612153201.554742-1-catalin.marinas@arm.com> In-Reply-To: Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.12.12.35] x-esetresult: clean, is OK x-esetid: 37303A2956B144526C7D64 Content-Type: text/plain; charset="utf-8" Content-ID: <5D54290C5127484088B70035F70CEBE7@actia.se> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Stat-Signature: ip6umc7dgb6zgb4b1tippmfccrauc5yb X-Rspam-User: X-Rspamd-Queue-Id: 0F0EB1C0007 X-Rspamd-Server: rspam08 X-HE-Tag: 1743590151-538929 X-HE-Meta: U2FsdGVkX1/X8vOpW2HDCwULHqeiJsWd5K6Q7Bru8dj0kc9/v/Yq9L1HbhFqtTtqrmIZedkZabFV3YNqoPbsYSRNpwnjT1kA/Eda4VBMxx8Wp4JGerp1XMRzBn/x33TXTqRojMETCAaCnYjb6nQcQtRlH82OcSxtuQiaJje5W46PHGpcc29TFk7XXkko8IY/f1hVY4Pgxy9TFjWNUivGVwbrza3cjozKVLNErxHdEjBpPMo6kKtQ8QqUwxQNargz1kx1Yr42K3FedM20L08uUpxe3eLw+tNNu28EQM4J7rQogZajvKnQiUxrex6u1xqydmZ8cViJTiyrYVfmXMTOsEnPq4KPCe4p27B2ikpLtFtHCtM90aTmQA13gMxWS6qKvvmHQpURDfG6JH9OQrdTZZ25bJfH2KMOaYUr9V9FlBnpOOismmYDpw6pu7uJaB74/IrWd4Qsgv9y3l3u7gyaUDzE2mH6ZBp3d+8uS+VvQGKKu07SjRSIfvKR7OGvbas4WsemgVQkrpLKoUUZEhcd/SWktkDr/ab8rCGr2FMS4MEbdvXJ8fsIGaMtypWcWrYwphtVX3Mfe6TmHxOrmC80uckVogJx8c8bS83jJ5qq5pGLOZmkjbFro6sIOkhczqZWKMx3OhoH/sOhcs1Fn7w1Q/9neHNI97UcmM4JyjtqCJLCPyy5zVfpNS17bn14tHrAl89/oH1p1M5zSj5sWOUFEOYVm4fWkbJC4rfy/TTNGAwsnWEbR3sA7GHnna415vofM502W0RSkg7W/+wwh1T+HmywjfEcK+UW5yoiaeAzQ8Bfig6S/oW3ekAIOAl8PHyTpgjLePteVVBtEXZV6tzIWxSJNMvvYmtTdD79c8Z7w/hJMAj0YSz6tDGSU/rmDc5NttgNFkUWtiR9+Yt/nrj89QMR8u5QirY/dGGO65AucWIj8NPfM7xD5wFNeQF7sPSrC00ll4nz/xWsqCGFnSO tMlXfc+1 8q47TNuuba+eMTpdZWq47QuZDyHSLPS3fD6lKSFTdJ1Rtq3C6RZNoe1fK4xZPBXU0aB+Db6ts66kIlYMGX1Y2nr6/dOe1V3hqGbq5ESmT1WTZZtwRLyxzGWa2IJ+vaKj0zQAMSeN71yiQnZptT8OC4otGDbX+noPYMh7TFDXdJINBbLmI9YL+xjIxL8QIdO/BssN3alcuvfM06pEcCjAIxbY62cttrPiZzkEVcaGILHm6nQQvNfMKdmYb9O2DKkMiV3cTgj3JlR3/jqI3ympNvh+F4aInRRwIYkPOpbhGlSa+imtfxyZICcjtPVgh+/4yB714wCEFW8P87vwsmUhrbidSteJKamqTAFQtjcE+ajVyRk71t7jtIX/sjA== 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: List-Subscribe: List-Unsubscribe: SGkgQ2F0YWxpbiwNCg0KT24gNC8xLzI1IDY6NDMgUE0sIENhdGFsaW4gTWFyaW5hcyB3cm90ZToN Cj4gT24gRnJpLCBNYXIgMjgsIDIwMjUgYXQgMDQ6NDE6MDVQTSArMDAwMCwgSm9obiBFcm5iZXJn IHdyb3RlOg0KPj4gT24gNi8xMi8yMyA1OjMxIFBNLCBDYXRhbGluIE1hcmluYXMgd3JvdGU6DQo+ Pj4gVGhhdCdzIHY3IG9mIHRoZSBzZXJpZXMgcmVkdWNpbmcgdGhlIGttYWxsb2MoKSBtaW5pbXVt IGFsaWdubWVudCBvbg0KPj4+IGFybTY0IHRvIDggKGZyb20gMTI4KS4gVGhlcmUncyBubyBuZXcv ZGlmZmVyZW50IGZ1bmN0aW9uYWxpdHksIG1vc3RseQ0KPj4+IGNvc21ldGljIGNoYW5nZXMgYW5k IGFja3MvdGVzdGVkLWJ5cy4NCj4+Pg0KPj4+IEFuZHJldywgaWYgdGhlcmUgYXJlIG5vIGZ1cnRo ZXIgY29tbWVudHMgb3Igb2JqZWN0aW9ucyB0byB0aGlzIHZlcnNpb24sDQo+Pj4gYXJlIHlvdSBv ayB0byB0YWtlIHRoZSBzZXJpZXMgdGhyb3VnaCB0aGUgbW0gdHJlZT8gVGhlIGFybTY0IGNoYW5n ZXMgYXJlDQo+Pj4gZmFpcmx5IHNtYWxsLiBBbHRlcm5hdGl2ZWx5LCBJIGNhbiBwdXNoIGl0IGlu dG8gbGludXgtbmV4dCBub3cgdG8gZ2l2ZQ0KPj4+IGl0IHNvbWUgd2lkZXIgZXhwb3N1cmUgYW5k IGRlY2lkZSB3aGV0aGVyIHRvIHVwc3RyZWFtIGl0IHdoZW4gdGhlDQo+Pj4gbWVyZ2luZyB3aW5k b3cgb3BlbnMuIFRoYW5rcy4NCj4+Pg0KPj4+IFRoZSB1cGRhdGVkIHBhdGNoZXMgYXJlIGFsc28g YXZhaWxhYmxlIG9uIHRoaXMgYnJhbmNoOg0KPj4+DQo+Pj4gZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcv cHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2FybTY0L2xpbnV4IGRldmVsL2ttYWxsb2MtbWluYWxp Z24NCj4+Pg0KPiBbLi4uXQ0KPj4gU2VlbiBvbiBMaW51eCA2LjEyLjIwLCBpdCBpcyBub3QgdHJp dmlhbCBmb3IgdXMgdG8gdGVzdCBsYXRlciBrZXJuZWxzIHNvDQo+PiBpZiB0aGUgaXNzdWUgaXMg cG90ZW50aWFsbHkgZml4ZWQgd2UgYXJlIG1vcmUgdGhhbiBoYXBweSB0byBjaGVycnktcGljaw0K Pj4gdGhlIHBvdGVudGlhbCBmaXhlcyBhbmQgZ2l2ZSB0aGVtIGEgZ28uDQo+IA0KPiBJJ20gbm90 IGF3YXJlIG9mIGFueSByZWNlbnQgZml4IGZvciB0aGlzLCBzbyBJIGRvdWJ0IHRlc3RpbmcgYSBu ZXdlcg0KPiBrZXJuZWwgd291bGQgbWFrZSBhIGRpZmZlcmVuY2UuDQo+IA0KPj4gSGF2aW5nIGFu IFNNU0M5NTEyIChzbXNjOTV4eCkgVVNCIEV0aGVybmV0L0h1YiBjaGlwIGF0dGFjaGVkIHRvIHRo ZSBhcm12OA0KPj4gU29DIGlNWDhRWFAgb3ZlciB0aGUgQ2FkZW5jZSBVU0IzIFVTQjIgaW50ZXJm YWNlIChjZG5zMy1pbXgpIHdpbGwgc2luY2UNCj4+IHRoZSBwYXRjaCBzZXQgYXQgWzBdIGNhdXNl IHJhbmRvbSBpbnRlcnJ1cHQgc3Rvcm1zIG92ZXIgdGhlIFNNU0M5NTEyIElOVA0KPj4gRVAuDQo+ Pg0KPj4gVGhlIHJlYXNvbiBmb3IgdGhlIHN0b3JtIGlzIHRoYXQgdGhlIGFzeW5jIFVSQnMgcXVl dWVkIGF0IFsxXSByaWdodCBiZWZvcmUNCj4+IHRoZSBpbnRlcnJ1cHQgY29uZmlndXJhdGlvbiBb Ml0gaW4gdGhlIGRyaXZlci4NCj4+IFdpdGggWzBdIGFwcGxpZWQsIHRob3NlIGFzeW5jIFVSQnMg YXJlIGxpa2VseSBjbG9iYmVyaW5nIGFueSBVUkIgbG9jYXRlZA0KPj4gYWZ0ZXIgdGhlbSBpbiBt ZW1vcnkgc29tZXdoZXJlIGluIHRoZSB4aGNpIG1lbW9yeSBzcGFjZS4NCj4+IFRoZSBtZW1vcnkg Y29ycnVwdGlvbiBvbmx5IGhhcHBlbnMgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBVUkIgaW4g dGhlDQo+PiBxdWV1ZSBhdCB0aGUgc2FtZSB0aW1lLCBtYWtpbmcgdGhlc2UgYXN5bmMgVVJCcyBh IGdvb2QgdHJpZ2dlciBvZiB0aGUNCj4+IHByb2JsZW0uDQo+PiBJZiB3ZSBmb3JjZSB0aG9zZSBV UkJzIHRvIGJlIHN5bmMgb3IgdXNlIHRoZSBoYWNrIGlubGluZWQgYmVsb3csIHRoZQ0KPj4gcHJv YmxlbSBnb2VzIGF3YXkuDQo+IA0KPiBJJ20gbm90IHJlYWxseSBmYW1pbGlhciB3aXRoIHRoaXMg YXJlYS4gTXkgb25seSBkcml2ZXJzL3VzYi8gY2hhbmdlDQo+IHJlbGF0ZWQgdG8gQVJDSF9LTUFM TE9DX01JTkFMSUdOIHdhcyBjb21taXQgMDc1ZWZlN2MxNjU2ICgiZHJpdmVycy91c2I6DQo+IHVz ZSBBUkNIX0RNQV9NSU5BTElHTiBpbnN0ZWFkIG9mIEFSQ0hfS01BTExPQ19NSU5BTElHTiIpLiBJ IHdvdWxkbid0IGJlDQo+IHN1cnByaXNlZCBpZiBJIG1pc3NlZCBvdGhlciB0aGluZ3MgdGhhdCBy ZWx5IG9uIHRoZSBrbWFsbG9jKCkgYWxpZ25tZW50DQo+IHJhdGhlciB0aGFuIGV4cGxpY2l0IG1h Y3Jvcy4NCg0KV2UgdHJpZWQgaGFja2luZyB0aGUgb3V0Y29tZSBvZiB0aGUgZnVuY3Rpb24gYmFj ayB0byBob3cgaXQgcmFuIG9uIHRoZSANCnZlbmRvciA2LjEga2VybmVsIGFuZCBpdCBkaWQgbm90 IGhhdmUgYW4gZWZmZWN0IG9uIHRoZSBidWcuDQoNCj4gDQo+PiBUaGUgY29udGVudCBvZiByZWFk X2J1ZiBpbiB0aGUgaW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gcmVhZCBhdCBbMl0gbG9va3MNCj4+ IHRvIGJlIHRoZSBsby1wYXJ0IG9mIGEgcG9pbnRlciArLTIwIGJ5dGVzIGRpc3RhbmNlIGZyb20g dGhlIHBvaW50ZXJzDQo+PiBwcmVzZW50IGluIHRoZSBhc3luYyBVUkJzIHF1ZXVlZCBmcm9tIFsx XSB3aGVuIHdlIGR1bXBlZCB0aGUgVVJCIHN0cnVjdHVyZXMNCj4+IGluc3RlYWQgb2YgdGhlIGV4 cGVjdGVkIHJlZ2lzdGVyIGNvbnRlbnRzLg0KPiANCj4gSXQgbWlnaHQgYmUgd29ydGggZW5hYmxp bmcgQ09ORklHX0RNQV9BUElfREVCVUcgdG8gc2VlIGlmIGl0IGNvbXBsYWlucy4NCj4gSSBsb3N0 IG15c2VsZiBpbiB0aGUgY2FsbCBwYXRocyBvbiBob3cgcmVhZF9idWYgZ2V0cyBwb3B1bGF0ZWQu IEluDQo+IHByaW5jaXBsZSwgdGhlIERNQSBBUEkgc2hvdWxkIGhhbmRsZSBib3VuY2luZyAoc3dp b3RsYikgZXZlbiBpZiB5b3UgcGFzcw0KPiBpdCBhIGJ1ZmZlciBzbWFsbGVyIHRoYW4gdGhlIHJl cXVpcmVkIGFsaWdubWVudA0KPiANCj4gUmFuZG9tIHNob3QsIHVudGVzdGVkIGFuZCBub3QgYW4g YWN0dWFsIGZpeCBidXQgc29tZSBpZGVhcyBmb3INCj4gZGVidWdnaW5nOg0KPiANCj4gLS0tLS0t LS0tLS0tLS0tLS0tODwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC91c2IvdXNibmV0LmMgYi9kcml2ZXJzL25ldC91c2IvdXNibmV0LmMN Cj4gaW5kZXggNDQxNzlmNGU4MDdmLi4wNmQ1ZjliZmVmNzUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl cnMvbmV0L3VzYi91c2JuZXQuYw0KPiArKysgYi9kcml2ZXJzL25ldC91c2IvdXNibmV0LmMNCj4g QEAgLTIwMjQsNyArMjAyNCw3IEBAIHN0YXRpYyBpbnQgX191c2JuZXRfcmVhZF9jbWQoc3RydWN0 IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsDQo+ICAgICAgICAgICAgICAgICAgICAg Y21kLCByZXF0eXBlLCB2YWx1ZSwgaW5kZXgsIHNpemUpOw0KPiANCj4gICAgICAgICAgaWYgKHNp emUpIHsNCj4gLSAgICAgICAgICAgICAgIGJ1ZiA9IGttYWxsb2Moc2l6ZSwgR0ZQX05PSU8pOw0K PiArICAgICAgICAgICAgICAgYnVmID0ga21hbGxvYyhBTElHTihzaXplLCBkbWFfZ2V0X2NhY2hl X2FsaWdubWVudCgpKSwgR0ZQX05PSU8pOw0KPiAgICAgICAgICAgICAgICAgIGlmICghYnVmKQ0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ICAgICAgICAgIH0NCj4gQEAg LTIxNzEsMTIgKzIxNzEsMTMgQEAgaW50IHVzYm5ldF93cml0ZV9jbWRfYXN5bmMoc3RydWN0IHVz Ym5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsDQo+ICAgICAgICAgICAgICAgICAgZ290byBm YWlsOw0KPiANCj4gICAgICAgICAgaWYgKGRhdGEpIHsNCj4gLSAgICAgICAgICAgICAgIGJ1ZiA9 IGttZW1kdXAoZGF0YSwgc2l6ZSwgR0ZQX0FUT01JQyk7DQo+ICsgICAgICAgICAgICAgICBidWYg PSBrbWFsbG9jKEFMSUdOKHNpemUsIGRtYV9nZXRfY2FjaGVfYWxpZ25tZW50KCkpLCBHRlBfQVRP TUlDKTsNCj4gICAgICAgICAgICAgICAgICBpZiAoIWJ1Zikgew0KPiAgICAgICAgICAgICAgICAg ICAgICAgICAgbmV0ZGV2X2VycihkZXYtPm5ldCwgIkVycm9yIGFsbG9jYXRpbmcgYnVmZmVyIg0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGluICVzIVxuIiwgX19mdW5j X18pOw0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsX2ZyZWVfdXJiOw0KPiAg ICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgIG1lbWNweShidWYsIGRhdGEsIHNp emUpOw0KPiAgICAgICAgICB9DQo+IA0KPiAgICAgICAgICByZXEgPSBrbWFsbG9jKHNpemVvZihz dHJ1Y3QgdXNiX2N0cmxyZXF1ZXN0KSwgR0ZQX0FUT01JQyk7DQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9jZG5zMy9jZG5zcC1tZW0uYyBiL2RyaXZlcnMvdXNiL2NkbnMzL2NkbnNwLW1lbS5j DQo+IGluZGV4IDk3ODY2YmZiMmRhOS4uMjI2YWM3YWY2NTExIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL3VzYi9jZG5zMy9jZG5zcC1tZW0uYw0KPiArKysgYi9kcml2ZXJzL3VzYi9jZG5zMy9jZG5z cC1tZW0uYw0KPiBAQCAtNDUsNiArNDUsNyBAQCBzdGF0aWMgc3RydWN0IGNkbnNwX3NlZ21lbnQg KmNkbnNwX3NlZ21lbnRfYWxsb2Moc3RydWN0IGNkbnNwX2RldmljZSAqcGRldiwNCj4gICAgICAg ICAgICAgICAgICByZXR1cm4gTlVMTDsNCj4gICAgICAgICAgfQ0KPiANCj4gKyAgICAgICBtYXhf cGFja2V0ID0gQUxJR04obWF4X3BhY2tldCwgZG1hX2dldF9jYWNoZV9hbGlnbm1lbnQoKSk7DQo+ ICAgICAgICAgIGlmIChtYXhfcGFja2V0KSB7DQo+ICAgICAgICAgICAgICAgICAgc2VnLT5ib3Vu Y2VfYnVmID0ga3phbGxvYyhtYXhfcGFja2V0LCBmbGFncyB8IEdGUF9ETUEpOw0KPiAgICAgICAg ICAgICAgICAgIGlmICghc2VnLT5ib3VuY2VfYnVmKQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS04PC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gDQo+IEV2ZW4gd2l0aG91dCB0aGUgYWJv dmUsIG15IHJlYWRpbmcgb2YgdGhlIGNvZGUgaXMgdGhhdCBpdCBpcyBzYWZlIHNpbmNlDQo+IHRo ZSBidWZmZXJzIGV2ZW50dWFsbHkgZW5kIHVwIGluIGRtYV9tYXBfc2luZ2xlKCkgd2hpY2ggd291 bGQgZG8NCj4gYm91bmNpbmcgdmlhIGFuIGFsaWduZWQgYnVmZmVyLg0KPiANCj4gVHJ5IHRvIHRy YWNrIGRvd24gY2FsbCBwYXRocyBmcm9tIHNtc2M5NXh4X3JlYWRfcmVnKCkgYW5kDQo+IHNtc2M5 NXh4X3dyaXRlX3JlZ19hc3luYygpIHRvIHVzYm5ldF97cmVhZCx3cm90ZX1fY21kKiBldGMuIGFu ZCBzZWUgaG93DQo+IHRoZSBETUEgdHJhbnNmZXJzIGhhcHBlbiwgd2hldGhlciBpdCdzIG1pc3Np bmcgc29tZSBkbWFfbWFwXyogY2FsbC4gVGhlDQo+IGRtYV9tYXBfKiBib3VuY2luZyBsb2dpYyBy ZWxpZXMgb24gdGhlIHNpemUsIHNlZQ0KPiBkbWFfa21hbGxvY19uZWVkc19ib3VuY2UoKS4NCj4g DQo+IElzIHRoZXJlIGFuIGlvbW11IGJldHdlZW4gdGhlIHVzYiBob3N0IGNvbnRyb2xsZXIgYW5k IG1lbW9yeT8gVGhlIGlvbW11DQo+IGNvZGUgc2hvdWxkIGRvIHNpbWlsYXIgYm91bmNpbmcgYnV0 IGl0J3MgaGFkIG1pbmltYWwgdGVzdGluZy4NClRoZSBpTVg4UVhQIGRvZXMgbm90IGNvbWUgd2l0 aCBhbiBpb21tdS4+DQo+IC0tDQo+IENhdGFsaW4NCj4gDQpUaGFuayB5b3UgZm9yIHRoZSBtYW55 IGRlYnVnZ2luZyBwb2ludGVycywgaXQgd2lsbCB0YWtlIG1lIGF0IGxlYXN0IGEgDQpmZXcgZGF5 cyB0byBnZXQgdGhyb3VnaCB0aGVtIGFsbCBhbmQgcHJvZHVjZSByZXN1bHRzLg0KDQpCZXN0IHJl Z2FyZHMgLy8gSm9obiBFcm5iZXJn