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 5D92EC7115E for ; Thu, 29 Aug 2024 03:55:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C5E368D0002; Wed, 28 Aug 2024 23:55:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C0E936B00C8; Wed, 28 Aug 2024 23:55:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AAF5E8D0002; Wed, 28 Aug 2024 23:55:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8ABE16B00C4 for ; Wed, 28 Aug 2024 23:55:17 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 34B281602F6 for ; Thu, 29 Aug 2024 03:55:17 +0000 (UTC) X-FDA: 82503917874.29.C9D8CA7 Received: from mta21.hihonor.com (mta21.hihonor.com [81.70.160.142]) by imf19.hostedemail.com (Postfix) with ESMTP id 89FEF1A0007 for ; Thu, 29 Aug 2024 03:55:13 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=none; spf=pass (imf19.hostedemail.com: domain of gaoxu2@honor.com designates 81.70.160.142 as permitted sender) smtp.mailfrom=gaoxu2@honor.com; dmarc=pass (policy=none) header.from=honor.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724903625; 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=Jw6AmoQ3IKNG/uoeHGexqStO860y3aGnjZTWO7hLYx4=; b=GUN3Jz0qyj82xCrPRp59S2uf/wo3SwHXiUw6q01da0tLYZerWbwd17tQDIV3Qqk9nVFZVO rdx+4sZXfQjEbu4SOth8iRbgom/2j127+ld4hq3yujUV7laBtl2+kY3JYIr2rYnnIOy9p8 ch2x3jKEuqymYLXTtrphvHTboTY5/Ng= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724903625; a=rsa-sha256; cv=none; b=vEJVcZhsp5NqqJzOdXRv6J7DqjCvFRKbQYcMFd2GxuWyoYRM/kkWTMLbgAcvpOwsRnilAE PTGVi/nCrsy1pQ++3pKHy9QoFHYOj8Vqw9/kr2IyWPR5XW55AVutdVPGo/YAxymiTYm52R l/d4IgE1yB6r3MSrpJoiH74s8QfTqmc= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=none; spf=pass (imf19.hostedemail.com: domain of gaoxu2@honor.com designates 81.70.160.142 as permitted sender) smtp.mailfrom=gaoxu2@honor.com; dmarc=pass (policy=none) header.from=honor.com Received: from w012.hihonor.com (unknown [10.68.27.189]) by mta21.hihonor.com (SkyGuard) with ESMTPS id 4WvS6v21YXzYlK7l; Thu, 29 Aug 2024 11:53:11 +0800 (CST) Received: from a013.hihonor.com (10.68.22.170) by w012.hihonor.com (10.68.27.189) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 29 Aug 2024 11:55:07 +0800 Received: from a007.hihonor.com (10.68.22.31) by a013.hihonor.com (10.68.22.170) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 29 Aug 2024 11:55:06 +0800 Received: from a007.hihonor.com ([fe80::4407:dd67:71d7:ea82]) by a007.hihonor.com ([fe80::4407:dd67:71d7:ea82%10]) with mapi id 15.02.1544.011; Thu, 29 Aug 2024 11:55:06 +0800 From: gaoxu To: Minchan Kim CC: Lokesh Gidra , Barry Song <21cnbao@gmail.com>, Suren Baghdasaryan , Nicolas Geoffray , Michal Hocko , Andrew Morton , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Shaohua Li , yipengxiang , fengbaopeng , Kalesh Singh Subject: =?utf-8?B?5Zue5aSNOiDlm57lpI06IFtQQVRDSCB2Ml0gbW06IGFkZCBsYXp5ZnJlZSBm?= =?utf-8?Q?olio_to_lru_tail?= Thread-Topic: =?utf-8?B?5Zue5aSNOiBbUEFUQ0ggdjJdIG1tOiBhZGQgbGF6eWZyZWUgZm9saW8gdG8g?= =?utf-8?Q?lru_tail?= Thread-Index: Adrvp/sHXyayf1r5TQG6pnGY8/qB0AD3RoCAABLl9gAAaIAOAACIH48AAAbl74AACPvZgAAYZiHAAAzFAgAAV9POgA== Date: Thu, 29 Aug 2024 03:55:06 +0000 Message-ID: <61f07b0979814462bae19b3cf5a34663@honor.com> References: <1757d01334ee4391beba1ea3dcdfed7c@honor.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: [10.164.11.140] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 89FEF1A0007 X-Stat-Signature: rgn87cdn78obecw3gm7uxejxusc9wny5 X-HE-Tag: 1724903713-298531 X-HE-Meta: U2FsdGVkX1/PNw6tJ4z0P4EOvjjyfixzrF0rDZPpMDJRlzqCNdErbaeV4lW/3XfLiSKpLHBZIQ+ob2pjShhyi0rg6iq9FSPk8O46BphqlwUix2W+JprsR6CAQDeAJEzFja1q2NBRmsE2u40lKuZgUtu5MZex2t2XmHiQRuyheqzM3Vos/J69h//es5G5GxsZ7X6o2IW+ZSQrQK/2NQ34XnN0G4jllf4akVJRwwh6x34NzSfJY6jTt8rDkW34+AxHjSJxTSc1OivpejN3MaSEJE+YKxycuv3ctStOmeo65qRV5UNlOkAxC4/tjuJgnZHyEcMh++5eSqF27D2Mh1JCxIu9Wu5gWGrlm/72Sl6kmBzvOtXIpb1chItHtMqm7CiOOQcv3BA31BJbTwQUPAFHuRfolcHkI39/pTXBZ8w5qHMt5buuemsowOf93n3LObZa11xnIbq6p+vDi0mpUQeqqoBwMbcmgoKeGzCAWp9ZP9fas63BwEWhgoXs+T9JsKp2INWmnSPp4B6x5XL2gtw+tYRDRmBVQmwsAlSwWyKFLn077NSWXL/qDZzsQapKfXnKw6ajS/6cxjrP6LySvKctA7QM1M7T3EBKIuqSS4nnKZzqmclQhk/KbojWmlhrgi8U9ID1E5PcJHmvw8pqld+/zzWhoXTXWkbGlz+qHz1QF+Lt248oRzC5Cb2YKhC+TvnKfnXWRH+SRBJ/80jWXfzU58uT+ROOUn4ASeeXtzdnwx9Vd9bdqL+EeR3L3Pappime2rpo4Ly4h1GT+r0Rlt8ZtQyAC4UIMsBR7WPQO+KuRykfxUESUayyntRBVjwTam+KEbFtGHvSvOfD/keIM/K89IL0yoN71Oa4k4k/Z9IQlMjqkqFctDTsIfIi5lMJMsfOGM/AHjCIm2X/PUYUEaYtVA4SC2CblIemki2K9wRjRiMxJ1idoAxTtKIrsV+dpICHVtdnrvlVtQOB6YCYq9n dTMYhfBp PjTMUDpD1YwoSkw2bDF8Pgb7hdsn3nSOM434Jo3J+nBUfzidtUeNzCboF4KSc0B1Yu/yk652aeo0PefoA+X1RfwfkjZWtH1QoJ6Lz+acWEDMbO/b3DwrvJ93bbenkQlF5MY+SxKp8pM5zUCFVtFjSmiB8qo+jFWacXiH9Qy0fdmScqI3OXNzx0KBIyNgDv8d0PmfQYOvsIi6qV1fqWxspf17sRYEdx7VTkkfzJheHjRcyMQtD4+allDnLtfSdNbeS3A4yjsCRcoR628afyE2EXI7k5pkrMkdH1/49JP0zWE0OS1Bx5EVbSf9XObICLO2VV8uoHgaOn/KAOgYiR1pJEjivS0wJg10ZGPerrmCm+U04tmCQqV7PAQQsFBCHT8wPMBOeT0TS7I+Nb7HsZfS7fvJKKRkDYOapZtL5NQBxxtp7JJR1B4GePXsSSJ+/qEMdwiiVLp503H8pp5Ewm13WbAMPSlPYKNV+lY++kj9kiH/k1/+oGEz1YkG4H9j1UT3lgKb9sfVaACtz285ePsDM7V8nFvdPNw9XqZyGUsOMPNOIeaY+FKiTrU2mtw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000142, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: PiBPbiBUdWUsIEF1ZyAyNywgMjAyNCBhdCAwNDowNzo1N0FNICswMDAwLCBnYW94dSB3cm90ZToN Cj4gPiA+DQo+ID4gPiBPbiBNb24sIEF1ZyAyNiwgMjAyNCBhdCAxMjo1NeKAr1BNIEJhcnJ5IFNv bmcgPDIxY25iYW9AZ21haWwuY29tPg0KPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gT24gVHVl LCBBdWcgMjcsIDIwMjQgYXQgNDozN+KAr0FNIExva2VzaCBHaWRyYSA8bG9rZXNoZ2lkcmFAZ29v Z2xlLmNvbT4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhhbmtzIFN1cmVu IGZvciBsb29waW5nIGluDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbiBGcmksIEF1ZyAyMywgMjAy NCBhdCA0OjM54oCvUE0gU3VyZW4gQmFnaGRhc2FyeWFuDQo+IDxzdXJlbmJAZ29vZ2xlLmNvbT4N Cj4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDIxLCAy MDI0IGF0IDI6NDfigK9QTSBCYXJyeSBTb25nIDwyMWNuYmFvQGdtYWlsLmNvbT4NCj4gPiA+IHdy b3RlOg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBPbiBXZWQsIEF1ZyAyMSwgMjAyNCBh dCA4OjQ24oCvUE0gTWljaGFsIEhvY2tvDQo+IDxtaG9ja29Ac3VzZS5jb20+DQo+ID4gPiB3cm90 ZToNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IE9uIEZyaSAxNi0wOC0yNCAwNzo0 ODowMSwgZ2FveHUgd3JvdGU6DQo+ID4gPiA+ID4gPiA+ID4gPiBSZXBsYWNlIGxydXZlY19hZGRf Zm9saW8gd2l0aCBscnV2ZWNfYWRkX2ZvbGlvX3RhaWwgaW4gdGhlDQo+ID4gPiBscnVfbGF6eWZy ZWVfZm46DQo+ID4gPiA+ID4gPiA+ID4gPiAxLiBUaGUgbGF6eS1mcmVlIGZvbGlvIGlzIGFkZGVk IHRvIHRoZSBMUlVfSU5BQ1RJVkVfRklMRSBsaXN0LiBJZg0KPiBpdCdzDQo+ID4gPiA+ID4gPiA+ ID4gPiAgICBtb3ZlZCB0byB0aGUgTFJVIHRhaWwsIGl0IGFsbG93cyBmb3IgZmFzdGVyIHJlbGVh c2UgbGF6eS1mcmVlDQo+IGZvbGlvDQo+ID4gPiBhbmQNCj4gPiA+ID4gPiA+ID4gPiA+ICAgIHJl ZHVjZXMgdGhlIGltcGFjdCBvbiBmaWxlIHJlZmF1bHQuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiBUaGlzIGhhcyBiZWVuIGRpc2N1c3NlZCB3aGVuIE1BRFZfRlJFRSB3YXMgaW50 cm9kdWNlZC4gVGhlDQo+ID4gPiBxdWVzdGlvbiB3YXMNCj4gPiA+ID4gPiA+ID4gPiB3aGV0aGVy IHRoaXMgbWVtb3J5IGhhcyBhIGxvd2VyIHByaW9yaXR5IHRoYW4gb3RoZXIgaW5hY3RpdmUNCj4g bWVtb3J5DQo+ID4gPiB0aGF0DQo+ID4gPiA+ID4gPiA+ID4gaGFzIGJlZW4gbWFya2VkIHRoYXQg d2F5IGxvbmdlciBhZ28uIEFsc28gY29uc2lkZXIgc2V2ZXJhbA0KPiA+ID4gTUFEVl9GUkVFDQo+ ID4gPiA+ID4gPiA+ID4gdXNlcnMgc2hvdWxkIHRoZXkgYmUgTElGTyBmcm9tIHRoZSByZWNsYWlt IFBPVj8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoaW5raW5nIGZyb20gdGhlIHVzZXIncyBwZXJz cGVjdGl2ZSwgaXQgc2VlbXMgdG8gbWUgdGhhdCBGSUZPIHdpdGhpbg0KPiA+ID4gPiA+IE1BRFZf RlJFRSdlZCBwYWdlcyBtYWtlcyBtb3JlIHNlbnNlLiBBcyBhIHVzZXIgSSBleHBlY3QgdGhlIGxv bmdlciBhDQo+ID4gPiA+ID4gTUFEVl9GUkVFJ2VkIHBhZ2UgaGFzbid0IGJlZW4gdG91Y2hlZCwg dGhlIGNoYW5jZXMgYXJlIGhpZ2hlciB0aGF0IGl0DQo+ID4gPiA+ID4gbWF5IG5vdCBiZSBhcm91 bmQgYW55bW9yZS4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSGkgTG9rZXNoLA0K PiA+ID4gPiBUaGFua3MhDQo+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRoZSBwcmlvcml0eSBvZiB0 aGlzIG1lbW9yeSBjb21wYXJlZCB0byBvdGhlciBpbmFjdGl2ZSBtZW1vcnkgdGhhdA0KPiBoYXMN Cj4gPiA+IGJlZW4NCj4gPiA+ID4gPiA+ID4gbWFya2VkIGZvciBhIGxvbmdlciB0aW1lIGxpa2Vs eSBkZXBlbmRzIG9uIHRoZSB1c2VyJ3MgZXhwZWN0YXRpb25zIC0NCj4gSG93DQo+ID4gPiBzb29u DQo+ID4gPiA+ID4gPiA+IGRvIHVzZXJzIGV4cGVjdCBNQURWX0ZSRUUgdG8gYmUgcmVjbGFpbWVk IGNvbXBhcmVkIHdpdGggb2xkIGZpbGUNCj4gPiA+IGZvbGlvcy4NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gYXJ0IGd1eXMgbW92ZWQgdG8gTUFEVl9GUkVFIGZyb20gTUFEVl9ET05UTkVF RCB3aXRob3V0IGFueQ0KPiA+ID4gPiA+ID4gPiB1c2VmdWwgcGVyZm9ybWFuY2UgZGF0YSBhbmQg cmVhc29uIGluIHRoZSBjaGFuZ2Vsb2c6DQo+ID4gPiA+ID4gPiA+IGh0dHBzOi8vYW5kcm9pZC1y ZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL3BsYXRmb3JtL2FydC8rLzI2MzMxMzINCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gU2luY2UgYXJ0IGlzIHRoZSBBbmRyb2lkIEphdmEgaGVhcCwg aXQgY2FuIGJlIHF1aXRlIGxhcmdlLiBUaGlzIGluY3JlYXNlcw0KPiB0aGUNCj4gPiA+ID4gPiA+ ID4gbGlrZWxpaG9vZCBvZiBwYWNraW5nIHRoZSBmaWxlIExSVSBhbmQgcmVkdWNlcyB0aGUgY2hh bmNlcyBvZg0KPiByZWNsYWltaW5nDQo+ID4gPiA+ID4gPiA+IGFub255bW91cyBtZW1vcnksIHdo aWNoIGNvdWxkIHJlc3VsdCBpbiBtb3JlIGZpbGUgcmUtZmF1bHRzIHdoaWxlDQo+ID4gPiBoZWxw aW5nDQo+ID4gPiA+ID4gPiA+IGFub255bW91cyBmb2xpbyBwZXJzaXN0IGxvbmdlciBpbiBtZW1v cnkuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJbmRpdmlkdWFsIGhlYXBzIG9mIGFuZHJvaWQgYXBw cyBhcmUgbm90IGJpZywgYW5kIGV2ZW4gaW4gdGhlcmUgd2UNCj4gPiA+ID4gPiBkb24ndCBjYWxs IE1BRFZfRlJFRSBvbiB0aGUgZW50aXJlIGhlYXAuDQo+ID4gPiA+DQo+ID4gPiA+IEhvdyBkbyB5 b3UgZGVmaW5lICJJbmRpdmlkdWFsIGhlYXBzIG9mIGFuZHJvaWQgYXBwcyIsIGRvIHlvdSBrbm93 IHRoZQ0KPiB1c3VhbA0KPiA+ID4gPiB0b3RhbF9zaXplIGZvciBhIHBob25lIHdpdGggbWVtb3J5 IHByZXNzdXJlIGJ5IHJ1bm5pbmcgbXVsdGlwbGUgYXBwcyBhbmQNCj4gPiA+IGhvdw0KPiA+ID4g PiBtdWNoIGZvciBlYWNoIGFwcD8NCj4gPiA+ID4NCj4gPiA+IEV2ZXJ5IGFwcCBpcyBhIHNlcGFy YXRlIHByb2Nlc3MgYW5kIHRoZXJlZm9yZSBoYXMgaXRzIG93biBwcml2YXRlIEFSVA0KPiA+ID4g aGVhcC4gVGhvc2UgbnVtYmVycyB0aGF0IHlvdSBhcmUgYXNraW5nIHZhcnkgZHJhc3RpY2FsbHku IEJ1dCBoZXJlJ3MNCj4gPiA+IHdoYXQgSSBjYW4gdGVsbCB5b3U6DQo+ID4gPg0KPiA+ID4gTWF4 IGhlYXAgc2l6ZSBmb3IgYW4gYXBwIGlzIDUxMk1CIHR5cGljYWxseS4gQnV0IGl0IGlzIHJhcmVs eSBlbnRpcmVseQ0KPiA+ID4gdXNlZC4gVHlwaWNhbCBoZWFwIHVzYWdlIGlzIDUwTUIgdG8gMjUw TUIuIEJ1dCBhcyBJIHNhaWQsIG5vdCBhbGwgb2YNCj4gPiA+IGl0IGlzIE1BRFZfRlJFRSdlZC4g T25seSB0aG9zZSBwYWdlcyB3aGljaCBhcmUgZnJlZWQgYWZ0ZXIgR0MNCj4gPiA+IGNvbXBhY3Rp b24gYXJlLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJIGFtIHJlYWxseSBjdXJpb3Vz IHdoeSBhcnQgZ3V5cyBoYXZlIG1vdmVkIHRvIE1BRFZfRlJFRSBpZiB3ZQ0KPiBoYXZlDQo+ID4g PiA+ID4gPiA+IGFuIGFwcHJvYWNoIHRvIHJlYWNoIHRoZW0uDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBIb25lc3RseSwgaXQgbWFrZXMgbGl0dGxlIHNlbnNlIGFzIGEgdXNlciB0aGF0IGNhbGxpbmcg TUFEVl9GUkVFIG9uIGFuDQo+ID4gPiA+ID4gYW5vbnltb3VzIG1hcHBpbmcgd2lsbCBpbXBhY3Qg ZmlsZSBMUlUuIFRoYXQgd2FzIG5ldmVyIHRoZSBpbnRlbnRpb24NCj4gPiA+ID4gPiB3aXRoIG91 ciBBUlQgY2hhbmdlLg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFRoaXMgaXMganVzdCBo b3cgTUFEVl9GUkVFIGlzIGltcGxlbWVudGVkIGluIHRoZSBrZXJuZWwsIHRoaXMga2luZCBvZg0K PiBsYXp5ZnJlZQ0KPiA+ID4gPiBhbm9uIGZvbGlvcyBhcmUgbW92ZWQgdG8gZmlsZSBidXQgKk5P VCogYW5vbiBMUlUuDQo+ID4gPiA+DQo+ID4gPiA+ID4gRnJvbSBvdXIgcGVyc3BlY3RpdmUsIG9u Y2UgYSBzZXQgb2YgcGFnZXMgYXJlIE1BRFZfRlJFRSdlZCwgdGhleSBhcmUNCj4gPiA+ID4gPiBs aWtlIGEgcGFnZS1jYWNoZS4gSXQgZ2l2ZXMgYW4gb3Bwb3J0dW5pdHksIHdpdGhvdXQgaHVydGlu ZyBtZW1vcnkNCj4gPiA+ID4gPiB1c2UsIHRvIGF2b2lkIG92ZXJoZWFkIG9mIHBhZ2UtZmF1bHRz LCB3aGljaCBoYXBwZW4gZnJlcXVlbnRseSBhZnRlcg0KPiA+ID4gPiA+IEdDIGlzIGRvbmUgb24g cnVubmluZyBhcHBzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSU1ITywgd2l0aGluIExSVV9JTkFD VElWRV9GSUxFLCBNQURWX0ZSRUUnZWQgcGFnZXMgc2hvdWxkIGJlDQo+ID4gPiA+ID4gcHJpb3Jp dGl6ZWQgZm9yIHJlY2xhbWF0aW9uIG92ZXIgZmlsZSBvbmVzLg0KPiA+ID4gPg0KPiA+ID4gPiBU aGlzIGlzIGV4YWN0bHkgd2hhdCB0aGlzIHBhdGNoIGlzIGRvaW5nLCBwdXR0aW5nIGxhenlmcmVl IGFub24gZm9saW9zDQo+ID4gPiA+IHRvIHRoZSB0YWlsIG9mIGZpbGUgTFJVIHNvIHRoYXQgdGhl eSBjYW4gYmUgcmVjbGFpbWVkIGVhcmxpZXIgdGhhbiBmaWxlDQo+ID4gPiA+IGZvbGlvcy4gQnV0 IHRoZSBxdWVzdGlvbiBpczogaXMgdGhlIHJlcXVpcmVtZW50ICJNQURWX0ZSRUUnZWQgcGFnZXMN Cj4gPiA+ID4gc2hvdWxkIGJlIHByaW9yaXRpemVkIGZvciByZWNsYW1hdGlvbiBvdmVyIGZpbGUg b25lcyIgdW5pdmVyc2FsbHkgdHJ1ZSBmb3INCj4gPiA+ID4gYWxsIG90aGVyIG5vbi1BbmRyb2lk IHVzZXJzPw0KPiA+ID4gPg0KPiA+ID4gVGhhdCdzIGRlZmluaXRlbHkgYW4gaW1wb3J0YW50IHF1 ZXN0aW9uIHRvIGdldCBhbnN3ZXJlZC4gQnV0IHB1dHRpbmcNCj4gPiA+IG15IHVzZXJzIGhhdCBv biBhZ2FpbiwgYnkgZXhwbGljaXRseSBNQURWX0ZSRUUnaW5nIHdlIGFzayBmb3IgdGhhdA0KPiA+ ID4gYmVoYXZpb3IuIElNSE8sIE1BRFZfRlJFRSdlZCBwYWdlcyBzaG91bGQgYmUgdGhlIGZpcnN0 IG9uZXMgdG8gYmUNCj4gPiA+IHJlY2xhaW1lZCBvbiBtZW1vcnkgcHJlc3N1cmUuDQo+ID4gRm9y IG5vbi1BbmRyb2lkIHN5c3RlbXMsIHBlcmhhcHMgdGhlIGF1dGhvciBvZiBNQURWX0ZSRUUgY2Fu IHByb3ZpZGUgYQ0KPiBtb3JlDQo+ID4gcmVhc29uYWJsZSBvcGluaW9uOw0KPiA+DQo+ID4gQWRk IE1pbmNoYW4gS2ltLg0KPiA+IFBsZWFzZSBmb3JnaXZlIG1lIGZvciBmb3JnZXR0aW5nIHRvIGFk ZCB5b3Ugd2hlbiBzZW5kaW5nIHRoZSBwYXRjaC4NCj4gDQo+IEFGQUlSLCB0aGVyZSB3ZXJlIHR3 byBjb25jZXJuczoNCj4gDQo+IDEuIFRoZSBmaWxlIExSVSB3b3VsZCBjb250YWluIHBhZ2VzIHVz ZWQgb25seSBvbmNlLg0KPiANCj4gV2hpbGUgTUFEVl9GUkVFIGFsbG93cyBkaXNjYXJkaW5nIHBh Z2VzIHVuZGVyIG1lbW9yeSBwcmVzc3VyZSwgdGhlIHN5c3RlbQ0KPiB3b3VsZA0KPiBzdGlsbCBo YXZlIG5vbi13b3JraW5nIHNldCBwYWdlcyB3aXRoaW4gdGhlIGZpbGUgTFJVIChlLmcuLCB0aG9z ZSB1c2VkIG9ubHkgb25jZSkuDQo+IA0KPiANCj4gMi4gTFJVIGludmVyc2lvbiBhbW9uZyBNQURW X0ZSRUUgdXNlcnMuDQo+IA0KPiBDb25zaWRlciB0aGlzIHRpbWUgb3JkZXI6DQo+IA0KPiAxLiBB IHByb2Nlc3M6IE1BRFZfRlJFRQ0KPiAyLiBCIHByb2Nlc3M6IE1BRFZfRlJFRQ0KPiAzLiBDIHBy b2Nlc3M6IE1BRFZfRlJFRQ0KPiANCj4gVGhlIG1vdmluZyB0YWlsIGFwcHJvYWNoIHdvdWxkIGRp c2NhcmQgdGhlIG1vc3QgcmVjZW50IHBhZ2VzIGZyb20gUHJvY2VzcyBDDQo+IGZpcnN0LA0KPiBp bnN0ZWFkIG9mIHRob3NlIGZyb20gUHJvY2VzcyBBLg0KPiANCj4gT2YgY291cnNlLCB0aGlzIGlz bid0IHVuaXZlcnNhbGx5IHRydWUgZm9yIGFsbCB3b3JrbG9hZHMsIGJ1dCBpdCdzIHRoZSByZWFs aXR5Lg0KQWZ0ZXIgZW5hYmxpbmcgTUdMUlUsIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhZ2UgYW5k IGV2aWN0IGJhc2VkIG9uIGdlbiBkaWx1dGVzIHRoZSBGSUZPIG1lY2hhbmlzbS4gQWx0aG91Z2gg dGhlIGpvaW5pbmcgdGltZSBwb2ludHMgYXJlIGRpZmZlcmVudCwgdGhleSBhcmUgYWxsIHJlY2xh aW1lZCBiYXNlZCBvbiB0aGUgc2FtZSBnZW4uIA0KQW5kcm9pZCBoYXMgYWx3YXlzIGJlZW4gcGxh Z3VlZCBieSBwZXJmb3JtYW5jZSBpc3N1ZXMgY2F1c2VkIGJ5IGhpZ2ggSU8uIE1hbnkgZW5naW5l ZXJzIGFkanVzdCBzdHJhdGVnaWVzIHRvIHByZWZlciByZWNsYWltaW5nIGFub24gd2hlbiB0aGUg c3lzdGVtIGlzIGxvdyBvbiBtZW1vcnkuIEZvciB0aGUgc2FtZSByZWFzb24sIA0Kd2UgYmVsaWV2 ZSBsYXp5IGZyZWUgZm9saW8gc2hvdWxkIHByaW9yaXRpemUgZmlsZSByZWNsYW1hdGlvbi4oSWYg SSBtaXN1bmRlcnN0b29kLCBwbGVhc2UgY29ycmVjdCBtZS4pDQoNCkZvciBvdGhlciBkaXNjdXNz aW9ucyB0aGF0IGxlYW4gdG93YXJkcyByZWNsYWltaW5nIGFub24gZm9saW8sIHBsZWFzZSByZWZl ciB0bzoNCmh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9saW51eC1tbS9jb3Zl ci8yMDIzMTEwODA2NTgxOC4xOTkzMi0xLWxpbmtAdml2by5jb20vDQoNCkFkZGluZyBsYXp5ZnJl ZSBmb2xpbyB0byB0aGUgTFJVIHRhaWwgaGFzIG5vIGltcGFjdCBvbiB0aGUgQW5kcm9pZCBzeXN0 ZW0sIGFsbG93aW5nIHRoZSBzeXN0ZW0gdG8gbm9ybWFsbHkgdXRpbGl6ZSB0aGUgcmV1c2Ugb2Yg TUFEVl9GUkVFIHdoZW4gbm90IGluIGEgbG93IG1lbSBzdGF0ZS4NCklmIGFkZGVkIHRvIHRoZSBm aWxlIExSVSBoZWFkLCB0aGUgQW5kcm9pZCBzeXN0ZW0gd2lsbCBlbmNvdW50ZXIgdmFyaW91cyBp c3N1ZXMgc3VjaCBhcyBoaWdoIElPIGFuZCBoZWF2eSBrc3dhcGQgbG9hZCwgZm9yY2luZyB1cyB0 byBwcm9oaWJpdCBBbmRyb2lkIEFSVCBmcm9tIGNvbnRpbnVpbmcgdG8gdXNlIE1BRFZfRlJFRS4N CkFkZGluZyBsYXp5ZnJlZSBmb2xpbyB0byB0aGUgTFJVIHRhaWwgaXMgbm90IHRoZSBiZXN0IGFw cHJvYWNoLCBidXQgaXQgaXMgbW9yZSBhY2NlcHRhYmxlIGNvbXBhcmVkIHRvIGFkZGluZyBpdCB0 byB0aGUgTFJVIGhlYWQuDQoNCj4gDQo+IEF0IHRoZSB0aW1lLCBJIHByb3Bvc2VkIGludHJvZHVj aW5nIGFuIGFkZGl0aW9uYWwgImV6X3JlY2xhaW1hYmxlIiBMUlUgbGlzdCB0bw0KPiBzdG9yZSBN QURWX0ZSRUUgcGFnZXMNCj4gKGFuZCBwb3RlbnRpYWxseSBvdGhlciBoaW50ZWQgcGFnZXMgaW4g dGhlIGZ1dHVyZSkuDQo+IFRoaXMgd291bGQgYWxsb3cgZGlmZmVyZW50aWF0aW5nIHByaW9yaXR5 IGFtb25nIExSVSBsaXN0cyBiYXNlZCBvbiBrbm9icyBvcg0KPiBoZXVyaXN0aWNzLg0KVGhpcyBz b2x1dGlvbiBsb29rcyBnb29kLCBtaWdodCBuZWVkIHRvIHRoaW5rIGFib3V0IGhvdyB0byBhZGFw dCBpdCB0byBtZ2xydS4NCj4gSG93ZXZlciwgdGhpcyBpZGVhIHdhc24ndCB3ZWxsLXJlY2VpdmVk Lg0K