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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 05E24C77B72 for ; Mon, 17 Apr 2023 11:44:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=oOPS0CHw8Y0VEh6qdPOvvoVFuiMjC3/Gxq5fgSg2/Tw=; b=O+jipXNmXJD4OF sc+sk8cT9QT6aDtsU/OBspbV/A0ABSLbSbx19hQs8OEr31TM6FuHebhH1SopxjfNSxjnjkVTu0aF5 RzhvfPUm4ijNeViQlohajb/wvwXBXlCBuCRP/quUoOiXL6K3zHMAmYkfk0AxghkHODpqv+ybKXIn1 D0DSTYWg80Qf7AA0qSv77A4PhYdnSSYGN0DS7FQsU1/C7A82P4T+zlCgw7pdLVS3bguoPQp21LCbe jYfqFRet0O5OlN+p+6OBXUHHlVRcPoqeyXmxHGdtbq+/a44maYu3rx9CN8pet6qvHxocMel9QhLrh kYagjUgsDGeZ3Yk8l45g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1poNGk-00G12D-0E; Mon, 17 Apr 2023 11:43:38 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1poNGe-00G10p-19 for linux-arm-kernel@lists.infradead.org; Mon, 17 Apr 2023 11:43:36 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 232F81FC7; Mon, 17 Apr 2023 04:44:12 -0700 (PDT) Received: from [10.57.68.227] (unknown [10.57.68.227]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7B2CE3F6C4; Mon, 17 Apr 2023 04:43:27 -0700 (PDT) Message-ID: <13969045-4e47-ae5d-73f4-dad40fe631be@arm.com> Date: Mon, 17 Apr 2023 12:43:25 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [RFC v2 PATCH 00/17] variable-order, large folios for anonymous memory Content-Language: en-US To: David Hildenbrand , Andrew Morton , "Matthew Wilcox (Oracle)" , Yu Zhao , "Yin, Fengwei" Cc: linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org References: <20230414130303.2345383-1-ryan.roberts@arm.com> From: Ryan Roberts In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230417_044332_488797_D61EA7D5 X-CRM114-Status: GOOD ( 42.15 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTcvMDQvMjAyMyAxMTo1NCwgRGF2aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4gT24gMTQuMDQu MjMgMTU6MDIsIFJ5YW4gUm9iZXJ0cyB3cm90ZToKPj4gSGkgQWxsLAo+Pgo+PiBUaGlzIGlzIGEg c2Vjb25kIFJGQyBhbmQgbXkgZmlyc3QgcHJvcGVyIGF0dGVtcHQgYXQgaW1wbGVtZW50aW5nIHZh cmlhYmxlIG9yZGVyLAo+PiBsYXJnZSBmb2xpb3MgZm9yIGFub255bW91cyBtZW1vcnkuIFRoZSBm aXJzdCBSRkMgWzFdLCB3YXMgYSBwYXJ0aWFsCj4+IGltcGxlbWVudGF0aW9uIGFuZCBhIHBsZWEg Zm9yIGhlbHAgaW4gZGVidWdnaW5nIGFuIGlzc3VlIEkgd2FzIGhpdHRpbmc7IHRoYW5rcwo+PiB0 byBZaW4gRmVuZ3dlaSBhbmQgTWF0dGhldyBXaWxjb3ggZm9yIHRoZWlyIGFkdmljZSBpbiBzb2x2 aW5nIHRoYXQhCj4+Cj4+IFRoZSBvYmplY3RpdmUgb2YgdmFyaWFibGUgb3JkZXIgYW5vbnltb3Vz IGZvbGlvcyBpcyB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIGJ5Cj4+IGFsbG9jYXRpbmcgbGFyZ2Vy IGNodW5rcyBvZiBtZW1vcnkgZHVyaW5nIGFub255bW91cyBwYWdlIGZhdWx0czoKPj4KPj4gwqAg LSBTaW5jZSBTVyAodGhlIGtlcm5lbCkgaXMgZGVhbGluZyB3aXRoIGxhcmdlciBjaHVua3Mgb2Yg bWVtb3J5IHRoYW4gYmFzZQo+PiDCoMKgwqAgcGFnZXMsIHRoZXJlIGFyZSBlZmZpY2llbmN5IHNh dmluZ3MgdG8gYmUgaGFkOyBmZXdlciBwYWdlIGZhdWx0cywgYmF0Y2hlZCBQVEUKPj4gwqDCoMKg IGFuZCBSTUFQIG1hbmlwdWxhdGlvbiwgZmV3ZXIgaXRlbXMgb24gbGlzdHMsIGV0Yy4gSW4gc2hv cnQsIHdlIHJlZHVjZSBrZXJuZWwKPj4gwqDCoMKgIG92ZXJoZWFkLiBUaGlzIHNob3VsZCBiZW5l Zml0IGFsbCBhcmNoaXRlY3R1cmVzLgo+PiDCoCAtIFNpbmNlIHdlIGFyZSBub3cgbWFwcGluZyBw aHlzaWNhbGx5IGNvbnRpZ3VvdXMgY2h1bmtzIG9mIG1lbW9yeSwgd2UgY2FuIHRha2UKPj4gwqDC oMKgIGFkdmFudGFnZSBvZiBIVyBUTEIgY29tcHJlc3Npb24gdGVjaG5pcXVlcy4gQSByZWR1Y3Rp b24gaW4gVExCIHByZXNzdXJlCj4+IMKgwqDCoCBzcGVlZHMgdXAga2VybmVsIGFuZCB1c2VyIHNw YWNlLiBhcm02NCBzeXN0ZW1zIGhhdmUgMiBtZWNoYW5pc21zIHRvIGNvYWxlc2NlCj4+IMKgwqDC oCBUTEIgZW50cmllczsgInRoZSBjb250aWd1b3VzIGJpdCIgKGFyY2hpdGVjdHVyYWwpIGFuZCBI UEEgKHVhcmNoKSAtIHNlZSBbMl0uCj4+Cj4+IFRoaXMgcGF0Y2ggc2V0IGRlYWxzIHdpdGggdGhl IFNXIHNpZGUgb2YgdGhpbmdzIG9ubHkgYnV0IHNldHMgdXMgdXAgbmljZWx5IGZvcgo+PiB0YWtp bmcgYWR2YW50YWdlIG9mIHRoZSBIVyBpbXByb3ZlbWVudHMgaW4gdGhlIG5lYXIgZnV0dXJlLgo+ Pgo+PiBJJ20gbm90IHlldCBiZW5jaG1hcmtpbmcgYSB3aWRlIHZhcmlldHkgb2YgdXNlIGNhc2Vz LCBidXQgdGhvc2UgdGhhdCBJIGhhdmUKPj4gbG9va2VkIGF0IGFyZSBwb3NpdGl2ZTsgSSBzZWUg a2VybmVsIGNvbXBpbGF0aW9uIHRpbWUgaW1wcm92ZWQgYnkgdXAgdG8gMTAlLAo+PiB3aGljaCBJ IGV4cGVjdCB0byBpbXByb3ZlIGZ1cnRoZXIgb25jZSBJIGFkZCBpbiB0aGUgYXJtNjQgImNvbnRp Z3VvdXMgYml0Ii4KPj4gTWVtb3J5IGNvbnN1bXB0aW9uIGlzIHNvbWV3aGVyZSBiZXR3ZWVuIDEl IGxlc3MgYW5kIDIlIG1vcmUsIGRlcGVuZGluZyBvbiBob3cKPj4gaXRzIG1lYXN1cmVkLiBNb3Jl IG9uIHBlcmYgYW5kIG1lbW9yeSBiZWxvdy4KPj4KPj4gVGhlIHBhdGNoZXMgYXJlIGJhc2VkIG9u IHY2LjMtcmM2ICsgcGF0Y2hlcyAxLTMxIG9mIFszXSAod2hpY2ggbmVlZGVkIG9uZSBtaW5vcgo+ PiBjb25mbGljdCByZXNvbHV0aW9uKS4gSSBoYXZlIGEgdHJlZSBhdCBbNF0uCj4+Cj4+IFsxXQo+ PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1tbS8yMDIzMDMxNzEwNTgwMi4yNjM0MDA0 LTEtcnlhbi5yb2JlcnRzQGFybS5jb20vCj4+IFsyXQo+PiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9saW51eC1tbS9kMzQ3YzViMC0wYzBmLWFlNTAtOTYxMy0yY2Y5NjJkODY3NmVAYXJtLmNvbS8K Pj4gWzNdCj4+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LW1tLzIwMjMwMzE1MDUxNDQ0 LjMyMjk2MjEtMS13aWxseUBpbmZyYWRlYWQub3JnLwo+PiBbNF0KPj4gaHR0cHM6Ly9naXRsYWIu YXJtLmNvbS9saW51eC1hcm0vbGludXgtcnIvLS90cmVlL2ZlYXR1cmVzL2dyYW51bGVfcGVyZi9h bm9uX2ZvbGlvLWxrbWwtcmZjMgo+Pgo+PiBBcHByb2FjaAo+PiA9PT09PT09PQo+Pgo+PiBUaGVy ZSBhcmUgNCBmYXVsdCBwYXRocyB0aGF0IGhhdmUgYmVlbiBtb2RpZmllZDoKPj4gwqAgLSB3cml0 ZSBmYXVsdCBvbiB1bmFsbG9jYXRlZCBhZGRyZXNzOiBkb19hbm9ueW1vdXNfcGFnZSgpCj4+IMKg IC0gd3JpdGUgZmF1bHQgb24gemVybyBwYWdlOiB3cF9wYWdlX2NvcHkoKQo+PiDCoCAtIHdyaXRl IGZhdWx0IG9uIG5vbi1leGNsdXNpdmUgQ29XIHBhZ2U6IHdwX3BhZ2VfY29weSgpCj4+IMKgIC0g d3JpdGUgZmF1bHQgb24gZXhjbHVzaXZlIENvVyBwYWdlOiBkb193cF9wYWdlKCkvd3BfcGFnZV9y ZXVzZSgpCj4+Cj4+IEluIHRoZSBmaXJzdCAyIGNhc2VzLCB3ZSB3aWxsIGRldGVybWluZSB0aGUg cHJlZmVycmVkIG9yZGVyIGZvbGlvIHRvIGFsbG9jYXRlLAo+PiBsaW1pdGVkIGJ5IGEgbWF4IG9y ZGVyIChjdXJyZW50bHkgb3JkZXItNDsgc2VlIGJlbG93KSwgVk1BIGFuZCBQTUQgYm91bmRzLCBh bmQKPj4gc3RhdGUgb2YgbmVpZ2hib3JpbmcgUFRFcy4gSW4gdGhlIDNyZCBjYXNlLCB3ZSBhaW0g dG8gYWxsb2NhdGUgdGhlIHNhbWUgb3JkZXIKPj4gZm9saW8gYXMgdGhlIHNvdXJjZSwgc3ViamVj dCB0byBjb25zdHJhaW50cyB0aGF0IG1heSBhcmlzZSBpZiB0aGUgc291cmNlIGhhcwo+PiBiZWVu IG1yZW1hcHBlZCBvciBwYXJ0aWFsbHkgbXVubWFwcGVkLiBBbmQgaW4gdGhlIDR0aCBjYXNlLCB3 ZSByZXVzZSBhcyBtdWNoIG9mCj4+IHRoZSBmb2xpbyBhcyB3ZSBjYW4sIHN1YmplY3QgdG8gdGhl IHNhbWUgbXJlbWFwL211bm1hcCBjb25zdHJhaW50cy4KPiAKPiBKdXN0IGEgbm90ZSAodGhhdCB5 b3UgbWF5YmUgYWxyZWFkeSBrbm93KSB0aGF0IHdlIGhhdmUgdG8gYmUgYSBiaXQgY2FyZWZ1bCBp bgo+IHRoZSB3cF9jb3B5IHBhdGggd2l0aCByZXBsYWNpbmcgc3ViLXBhZ2VzIHRoYXQgYXJlIG1h cmtlZCBleGNsdXNpdmUuCgpBaGgsIG5vIEkgd2Fzbid0IGF3YXJlIG9mIHRoaXMgLSB0aGFua3Mg Zm9yIHRha2luZyB0aGUgdGltZSB0byBleHBsYWluIGl0LiBJCnRoaW5rIEkgaGF2ZSBhIGJ1Zy4K CihJJ20gZ3Vlc3NpbmcgdGhlIEdVUCBmYXN0IHBhdGggYXNzdW1lcyB0aGF0IGlmIGl0IHNlZXMg YW4gZXhjbHVzaXZlIHBhZ2UgdGhlbgp0aGF0IHBhZ2UgY2FuJ3QgZ28gYXdheT8gQW5kIGlmIEkg dGhlbiB3cF9jb3B5IGl0LCBJJ20gYnJlYWtpbmcgdGhlIGFzc3VtcHRpb24/CkJ1dCBzdXJlbHkg dXNlciBzcGFjZSBjYW4gbXVubWFwIGl0IGF0IGFueSB0aW1lIGFuZCB0aGUgY29uc2VxdWVuY2Vz IGFyZQpzaW1pbGFyPyBJdCdzIHByb2JhYmx5IGNsZWFyIHRoYXQgSSBkb24ndCBrbm93IG11Y2gg YWJvdXQgdGhlIEdVUCBpbXBsZW1lbnRhdGlvbgpkZXRhaWxzLi4uKQoKTXkgY3VycmVudCBwYXRj aCBhbHdheXMgcHJlZmVycyByZXVzZSBvdmVyIGNvcHksIGFuZCBleHBhbmRzIHRoZSBzaXplIG9m IHRoZQpyZXVzZSB0byB0aGUgYmlnZ2VzdCBzZXQgb2YgcGFnZXMgdGhhdCBhcmUgYWxsIGV4Y2x1 c2l2ZSAoZGV0ZXJtaW5lZCBlaXRoZXIgYnkKdGhlIHByZXNlbmNlIG9mIHRoZSBhbm9uX2V4Y2x1 c2l2ZSBmbGFnIG9yIGZyb20gdGhlIHJlZmNvdW50KSwgYW5kIGNvdmVyZWQgYnkKdGhlIHNhbWUg Zm9saW8gKGFuZCBhIGZldyBvdGhlciBib3VuZHMgY29uc3RyYWludHMgLSBzZWUKY2FsY19hbm9u X2ZvbGlvX3JhbmdlX3JldXNlKCkpLgoKSWYgSSBkZXRlcm1pbmUgSSBtdXN0IGNvcHkgKGJlY2F1 c2UgdGhlICJhbmNob3IiIHBhZ2UgaXMgbm90IGV4Y2x1c2l2ZSksIHRoZW4gSQpkZXRlcm1pbmUg dGhlIHNpemUgb2YgdGhlIGNvcHkgcmVnaW9uIGJhc2VkIG9uIGEgZmV3IGNvbnN0cmFpbnRzIChz ZWUKY2FsY19hbm9uX2ZvbGlvX29yZGVyX2NvcHkoKSkuIEJ1dCBJIHRoaW5rIHlvdSBhcmUgc2F5 aW5nIHRoYXQgbm8gcGFnZXMgaW4gdGhhdApyZWdpb24gYXJlIGFsbG93ZWQgdG8gaGF2ZSB0aGUg YW5vbl9leGNsdXNpdmUgZmxhZyBzZXQ/IEluIHdoaWNoIGNhc2UsIHRoaXMKY291bGQgYmUgZml4 ZWQgYnkgYWRkaW5nIHRoYXQgY2hlY2sgaW4gdGhlIGZ1bmN0aW9uLgoKPiAKPiBDdXJyZW50bHks IHdlIGFsd2F5cyBvbmx5IHJlcGxhY2UgYSBzaW5nbGUgc2hhcmVkIGFub24gKHN1YilwYWdlIGJ5 IGEgZnJlc2gKPiBleGNsdXNpdmUgYmFzZS1wYWdlIGR1cmluZyBhIHdyaXRlLWZhdWx0L3Vuc2hh cmluZy4gQXMgdGhlIHN1Yi1wYWdlIGlzIGFscmVhZHkKPiBtYXJrZWQgIm1heWJlIHNoYXJlZCIs IGl0IGNhbm5vdCBnZXQgcGlubmVkIGNvbmN1cnJlbnRseSBhbmQgZXZlcnlib2R5IGlzIGhhcHB5 LgoKV2hlbiB5b3Ugc2F5LCAibWF5YmUgc2hhcmVkIiBpcyB0aGF0IGRldGVybWluZWQgYnkgdGhl IGFic2VuY2Ugb2YgdGhlCiJleGNsdXNpdmUiIGZsYWc/Cgo+IAo+IElmIHlvdSBub3cgZGVjaWRl IHRvIHJlcGxhY2UgbW9yZSBzdWJwYWdlcywgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCB0aGF0IG5v bmUgb2YKPiB0aGVtIGFyZSBzdGlsbCBleGNsdXNpdmUgLS0gYmVjYXVzZSB0aGV5IGNvdWxkIGdl dCBwaW5uZWQgY29uY3VycmVudGx5IGFuZAo+IHJlcGxhY2luZyB0aGVtIHdvdWxkIHJlc3VsdCBp biBtZW1vcnkgY29ycnVwdGlvbnMuCj4gCj4gVGhlcmUgYXJlIHNjZW5hcmlvcyAobW9zdCBwcm9t aW5lbnRseTogTUFEVl9XSVBFT05GT1JLKSwgYnV0IGFsc28gZmFpbGVkIHBhcnRpYWwKPiBmb3Jr KCkgdGhhdCBjb3VsZCByZXN1bHQgaW4gc29tZXRoaW5nIGxpa2UgdGhhdC4KCkFyZSB0aGVyZSBh bnkgdGVzdCBjYXNlcyB0aGF0IHN0cmVzcyB0aGUga2VybmVsIGluIHRoaXMgYXJlYSB0aGF0IEkg Y291bGQgdXNlIHRvCnZhbGlkYXRlIG15IGZpeD8KCj4gCj4gRnVydGhlciwgd2UgaGF2ZSB0byBi ZSBhIGJpdCBjYXJlZnVsIHJlZ2FyZGluZyByZXBsYWNpbmcgcmFuZ2VzIHRoYXQgYXJlIGJhY2tl ZAo+IGJ5IGRpZmZlcmVudCBhbm9uIHBhZ2VzIChmb3IgZXhhbXBsZSwgZHVlIHRvIGZvcmsoKSBk ZWNpZGluZyB0byBjb3B5IHNvbWUKPiBzdWItcGFnZXMgb2YgYSBQVEUtbWFwcGVkIGZvbGlvIGlu c3RlYWQgb2Ygc2hhcmluZyBhbGwgc3ViLXBhZ2VzKS4KCkkgZG9uJ3QgdW5kZXJzdGFuZCB0aGlz IHN0YXRlbWVudDsgZG8geW91IG1lYW4gImRpZmZlcmVudCBhbm9uIF9mb2xpb3NfIj8gSSBhbQpz Y2FubmluZyB0aGUgcGFnZSB0YWJsZSB0byBleHBhbmQgdGhlIHJlZ2lvbiB0aGF0IEkgcmV1c2Uv Y29weSBhbmQgYXMgcGFydCBvZgp0aGF0IHNjYW4sIG1ha2Ugc3VyZSB0aGF0IEkgb25seSBjb3Zl ciBhIHNpbmdsZSBmb2xpby4gU28gSSB0aGluayBJIGNvbmZvcm0gaGVyZQotIHRoZSBzY2FuIHdv dWxkIGdpdmUgdXAgb25jZSBpdCBnZXRzIHRvIHRoZSBob2xlLgoKPiAKPiAKPiBTbyB3aGF0IHNo b3VsZCBiZSBzYWZlIGlzIHJlcGxhY2luZyBhbGwgc3ViLXBhZ2VzIG9mIGEgZm9saW8gdGhhdCBh cmUgbWFya2VkCj4gIm1heWJlIHNoYXJlZCIgYnkgYSBuZXcgZm9saW8gdW5kZXIgUFQgbG9jay4g SG93ZXZlciwgSSB3b25kZXIgaWYgaXQncyByZWFsbHkKPiB3b3J0aCB0aGUgY29tcGxleGl0eS4g Rm9yIFRIUCB3ZSB3ZXJlIGhhcHB5IHNvIGZhciB0byAqbm90KiBvcHRpbWl6ZSB0aGlzLAo+IGlt cGx5aW5nIHRoYXQgbWF5YmUgd2Ugc2hvdWxkbid0IHdvcnJ5IGFib3V0IG9wdGltaXppbmcgdGhl IGZvcmsoKSBjYXNlIGZvciBub3cKPiB0aGF0IGhlYXZpbHkuCgpJIGRvbid0IGhhdmUgdGhlIGV4 YWN0IG51bWJlcnMgdG8gaGFuZCwgYnV0IEknbSBwcmV0dHkgc3VyZSBJIHJlbWVtYmVyIGVuYWJs aW5nCmxhcmdlIGNvcGllcyB3YXMgY29udHJpYnV0aW5nIGEgbWVhc3VyYWJsZSBhbW91bnQgdG8g dGhlIHBlcmZvcm1hbmNlCmltcHJvdmVtZW50LiAoQ2VydGFpbmx5LCB0aGUgemVyby1wYWdlIGNv cHkgY2FzZSwgaXMgZGVmaW5pdGVseSBhIGJpZwpjb250cmlidXRlcikuIEkgZG9uJ3QgaGF2ZSBh Y2Nlc3MgdG8gdGhlIEhXIGF0IHRoZSBtb21lbnQgYnV0IGNhbiByZXJ1biBsYXRlcgp3aXRoIGFu ZCB3aXRob3V0IHRvIGRvdWJsZSBjaGVjay4KCj4gCj4gCj4gT25lIG9wdGltaXphdGlvbiBvbmNl IGNvdWxkIHRoaW5rIG9mIGluc3RlYWQgKHRoYXQgSSByYWlzZWQgcHJldmlvdXNseSBpbiBvdGhl cgo+IGNvbnRleHQpIGlzIHRoZSBkZXRlY3Rpb24gb2YgZXhjbHVzaXZpdHkgYWZ0ZXIgZm9yaygp K2V4aXQgaW4gdGhlIGNoaWxkIChJT1csCj4gb25seSB0aGUgcGFyZW50IGNvbnRpbnVlcyB0byBl eGlzdCkuIE9uY2UgUEdfYW5vbl9leGNsdXNpdmUgd2FzIGNsZWFyZWQgZm9yIGFsbAo+IHN1Yi1w YWdlcyBvZiB0aGUgVEhQLW1hcHBlZCBmb2xpbyBkdXJpbmcgZm9yaygpLCB3ZSdkIGFsd2F5cyBk ZWNpZGUgdG8gY29weQo+IGluc3RlYWQgb2YgcmV1c2UgKGJlY2F1c2UgcGFnZV9jb3VudCgpID4g MSwgYXMgdGhlIGZvbGlvIGlzIFBURSBtYXBwZWQpLgo+IFNjYW5uaW5nIHRoZSBzdXJyb3VuZGlu ZyBwYWdlIHRhYmxlIGlmIGl0IG1ha2VzIHNlbnNlIChlLmcuLCBwYWdlX2NvdW50KCkgPD0KPiBm b2xpb19ucl9wYWdlcygpKSwgdG8gdGVzdCBpZiBhbGwgcGFnZSByZWZlcmVuY2VzIGFyZSBmcm9t IHRoZSBjdXJyZW50IHByb2Nlc3MKPiB3b3VsZCBhbGxvdyBmb3IgcmV1c2luZyB0aGUgZm9saW8g KHNldHRpbmcgUEdfYW5vbl9leGNsdXNpdmUpIGZvciB0aGUgc3ViLXBhZ2VzLgo+IFRoZSBzbWFs bGVyIHRoZSBmb2xpbyBvcmRlciwgdGhlIGNoZWFwZXIgdGhpcyAic2NhbiBzdXJyb3VuZGluZyBQ VEVzIiBzY2FuIGlzLgo+IEZvciBUSFAsIHdoaWNoIGFyZSB1c3VhbGx5IFBNRC1tYXBwZWQgZXZl biBhZnRlciBmb3JrKCkrZXhpdCwgd2UgZGlkbid0IGFkZCB0aGlzCj4gb3B0aW1pemF0aW9uLgoK WWVzLCBJIGhhdmUgYWxyZWFkeSBpbXBsZW1lbnRlZCB0aGlzIGluIG15IHNlcmllczsgc2VlIHBh dGNoIDEwLgoKVGhhbmtzLApSeWFuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=