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 BC2B6C001DB for ; Fri, 4 Aug 2023 07:48:53 +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:MIME-Version:References: Message-ID:Subject:CC:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=/eXwRm7PF+iEp5+WCvuC011LHg8rsgpC/AGRb1M1Eug=; b=YcQJzbMNmhzRwg VBY+W3iZOQYsAgHf8MKQIQEihS3/Rws91G7dt4fOwsNZ3ZHuWK3wBxux1sMtuZ88Wwrqnp7XWKjpx LVzEeuQMrjipu4bK+63jktkk6rMjJdnqqzzMQTV/xyupxn4jVdq+u//t58VdqFUdVPoCY+hvPxiJJ hofGo53yNYBgTrSM0WliMLvOmVGttR3rg4Yg90oWSZ1H3CKjmyHiS8EhIiiHqv2fKD+m2Lwpvyv5J vhnRVwpHCyAje/BWiYYehPS//likDDiJOAgpJ+NA/s51iUJI0lXgNHEzHJiKdbybHOcxB/yjsRD+i Zs1guri6y1lZhkZQiAEg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qRpYC-00BonN-2T; Fri, 04 Aug 2023 07:48:44 +0000 Received: from 60-248-80-70.hinet-ip.hinet.net ([60.248.80.70] helo=Atcsqr.andestech.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qRpY8-00Bomn-2N for linux-riscv@lists.infradead.org; Fri, 04 Aug 2023 07:48:43 +0000 Received: from mail.andestech.com (ATCPCS16.andestech.com [10.0.1.222]) by Atcsqr.andestech.com with ESMTP id 3747m8i9028840; Fri, 4 Aug 2023 15:48:08 +0800 (+08) (envelope-from dylan@andestech.com) Received: from atctrx.andestech.com (10.0.15.173) by ATCPCS16.andestech.com (10.0.1.222) with Microsoft SMTP Server id 14.3.498.0; Fri, 4 Aug 2023 15:48:05 +0800 Date: Fri, 4 Aug 2023 15:48:05 +0800 From: Dylan Jhong To: Alexandre Ghiti CC: Conor Dooley , Guo Ren , Paul Walmsley , Palmer Dabbelt , Albert Ou , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= , , Subject: Re: [PATCH -fixes] riscv: Implement flush_cache_vmap() Message-ID: References: <20230725132246.817726-1-alexghiti@rivosinc.com> <20230803-stadium-unusable-6cf00e35ec22@wendy> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.1.4 (2021-12-11) X-Originating-IP: [10.0.15.173] X-DNSRBL: X-MAIL: Atcsqr.andestech.com 3747m8i9028840 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230804_004841_225353_98D9036E X-CRM114-Status: GOOD ( 52.71 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVGh1LCBBdWcgMDMsIDIwMjMgYXQgMTE6NDg6MzZBTSArMDIwMCwgQWxleGFuZHJlIEdoaXRp IHdyb3RlOgo+IE9uIFRodSwgQXVnIDMsIDIwMjMgYXQgMTE6MjXigK9BTSBDb25vciBEb29sZXkg PGNvbm9yLmRvb2xleUBtaWNyb2NoaXAuY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBUaHUsIEF1ZyAw MywgMjAyMyBhdCAwNToxNDoxNVBNICswODAwLCBkeWxhbiB3cm90ZToKPiA+ID4gT24gU3VuLCBK dWwgMzAsIDIwMjMgYXQgMDE6MDg6MTdBTSAtMDQwMCwgR3VvIFJlbiB3cm90ZToKPiA+ID4gPiBP biBUdWUsIEp1bCAyNSwgMjAyMyBhdCA5OjIy4oCvQU0gQWxleGFuZHJlIEdoaXRpIDxhbGV4Z2hp dGlAcml2b3NpbmMuY29tPiB3cm90ZToKPiA+ID4gPiA+Cj4gPiA+ID4gPiBUaGUgUklTQy1WIGtl cm5lbCBuZWVkcyBhIHNmZW5jZS52bWEgYWZ0ZXIgYSBwYWdlIHRhYmxlIG1vZGlmaWNhdGlvbjog d2UKPiA+ID4gPiA+IHVzZWQgdG8gcmVseSBvbiB0aGUgdm1hbGxvYyBmYXVsdCBoYW5kbGluZyB0 byBlbWl0IGFuIHNmZW5jZS52bWEsIGJ1dAo+ID4gPiA+ID4gY29tbWl0IDdkMzMzMmJlMDExZSAo InJpc2N2OiBtbTogUHJlLWFsbG9jYXRlIFBHRCBlbnRyaWVzIGZvcgo+ID4gPiA+ID4gdm1hbGxv Yy9tb2R1bGVzIGFyZWEiKSBnb3QgcmlkIG9mIHRoaXMgcGF0aCBmb3IgNjQtYml0IGtlcm5lbHMs IHNvIG5vdyB3ZQo+ID4gPiA+ID4gbmVlZCB0byBleHBsaWNpdGx5IGVtaXQgYSBzZmVuY2Uudm1h IGluIGZsdXNoX2NhY2hlX3ZtYXAoKS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBOb3RlIHRoYXQgd2Ug ZG9uJ3QgbmVlZCB0byBpbXBsZW1lbnQgZmx1c2hfY2FjaGVfdnVubWFwKCkgYXMgdGhlIGdlbmVy aWMKPiA+ID4gPiA+IGNvZGUgc2hvdWxkIGVtaXQgYSBmbHVzaCB0bGIgYWZ0ZXIgdW5tYXBwaW5n IGEgdm1hbGxvYyByZWdpb24uCj4gPiA+ID4gPgo+ID4gPiA+ID4gRml4ZXM6IDdkMzMzMmJlMDEx ZSAoInJpc2N2OiBtbTogUHJlLWFsbG9jYXRlIFBHRCBlbnRyaWVzIGZvciB2bWFsbG9jL21vZHVs ZXMgYXJlYSIpCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kcmUgR2hpdGkgPGFsZXhn aGl0aUByaXZvc2luYy5jb20+Cj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ICBhcmNoL3Jpc2N2L2lu Y2x1ZGUvYXNtL2NhY2hlZmx1c2guaCB8IDQgKysrKwo+ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKykKPiA+ID4gPiA+Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9y aXNjdi9pbmNsdWRlL2FzbS9jYWNoZWZsdXNoLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nh Y2hlZmx1c2guaAo+ID4gPiA+ID4gaW5kZXggODA5MWI4YmY0ODgzLi5iOTNmZmRkZjhhNjEgMTAw NjQ0Cj4gPiA+ID4gPiAtLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2NhY2hlZmx1c2guaAo+ ID4gPiA+ID4gKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9jYWNoZWZsdXNoLmgKPiA+ID4g PiA+IEBAIC0zNyw2ICszNywxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZmx1c2hfZGNhY2hlX3Bh Z2Uoc3RydWN0IHBhZ2UgKnBhZ2UpCj4gPiA+ID4gPiAgI2RlZmluZSBmbHVzaF9pY2FjaGVfdXNl cl9wYWdlKHZtYSwgcGcsIGFkZHIsIGxlbikgXAo+ID4gPiA+ID4gICAgICAgICBmbHVzaF9pY2Fj aGVfbW0odm1hLT52bV9tbSwgMCkKPiA+ID4gPiA+Cj4gPiA+ID4gPiArI2lmZGVmIENPTkZJR182 NEJJVAo+ID4gPiA+ID4gKyNkZWZpbmUgZmx1c2hfY2FjaGVfdm1hcChzdGFydCwgZW5kKSAgIGZs dXNoX3RsYl9rZXJuZWxfcmFuZ2Uoc3RhcnQsIGVuZCkKPiA+ID4gPiBTb3JyeSwgSSBjb3VsZG4n dCBhZ3JlZSB3aXRoIHRoZSBhYm92ZSBpbiBhIFBJUFQgY2FjaGUgbWFjaGluZS4gSXQncwo+ID4g PiA+IG5vdCB3b3J0aCBmb3IuCj4gPiA+ID4KPiA+ID4gPiBJdCB3b3VsZCByZWR1Y2UgdGhlIHBl cmZvcm1hbmNlIG9mIHZtYXBfcGFnZXNfcmFuZ2UsCj4gPiA+ID4gaW9yZW1hcF9wYWdlX3Jhbmdl IC4uLiBBUEksIHdoaWNoIG1heSBjYXVzZSBzb21lIGRyaXZlcnMnIHBlcmZvcm1hbmNlCj4gPiA+ ID4gaXNzdWVzIHdoZW4gdGhleSBpbnN0YWxsL3VuaW5zdGFsbCBtZW1vcnkgZnJlcXVlbnRseS4K PiA+ID4gPgo+ID4gPgo+ID4gPiBIaSBBbGwsCj4gPiA+Cj4gPiA+IEkgdGhpbmsgZnVuY3Rpb25h bCBjb3JyZWN0bmVzcyBzaG91bGQgYmUgbW9yZSBpbXBvcnRhbnQgdGhhbiBzeXN0ZW0gcGVyZm9y bWFuY2UKPiA+ID4gaW4gdGhpcyBjYXNlLiBUaGUgInByZXZlbnRpdmUiIFNGRU5DRS5WTUEgYmVj YW1lIG5lY2Vzc2FyeSBkdWUgdG8gdGhlIFJJU0MtVgo+ID4gPiBzcGVjaWZpY2F0aW9uIGFsbG93 aW5nIGludmFsaWRhdGlvbiBlbnRyaWVzIHRvIGJlIGNhY2hlZCBpbiB0aGUgVExCLgo+ID4KPiA+ IFdlIGFyZSBhdCAtcmM0IGFuZCB0aGlzIHN0dWZmIGlzIGJyb2tlbi4gVGFraW5nIHRoZSBiaWdn ZXIgaGFtbWVyLCB3aGljaAo+ID4gY2FuIGJlIHJldmVydGVkIGxhdGVyIHdoZW4gYSBtb3JlIHRh cmdldGVkIGZpeCBzaG93cyB1cCwgdG8gbWFrZSBzdXJlCj4gPiB0aGF0IHY2LjUgZG9lc24ndCBl bmQgdXAgYnJva2VuLCBzb3VuZHMgcmF0aGVyIHBydWRlbnQuIE90aGVyd2lzZSwgdGhlCj4gPiBv cmlnaW5hbCBjb21taXQgc2hvdWxkIHByb2JhYmx5IGJlIHJldmVydGVkLgo+IAo+IFRoZSBvcmln aW5hbCBjb21taXQgdGhhdCByZW1vdmVkIHZtYWxsb2NfZmF1bHQoKSBpcyByZXF1aXJlZCwgaGFu ZGxpbmcKPiB2bWFsbG9jIGZhdWx0cyBpbiB0aGUgcGFnZSBmYXVsdCBwYXRoIGlzIG5vdCBwb3Nz aWJsZSAoc2VlIHRoZSBsaW5rcwo+IGluIHRoZSBkZXNjcmlwdGlvbiBvZiA3ZDMzMzJiZTAxMWUg YW5kIHRoZSBleGFtcGxlIHRoYXQgSSBnYXZlIGluIHRoZQo+IHRocmVhZCBodHRwczovL2xvcmUu a2VybmVsLm9yZy9saW51eC1yaXNjdi9kYzI2NjI1Yi02NjU4LWMwNzgtNzZkMi03ZTk3NWEwNGIx ZDRAZ2hpdGkuZnIvKS4KPiAKPiBJIHRvdGFsbHkgYWdyZWUgd2l0aCBEeWxhbiB0aGF0IHdlJ2xs IHdvcmsgKEknbSBjdXJyZW50bHkgd29ya2luZyBvbgo+IHRoYXQpIG9uIHRoZSBwZXJmb3JtYW5j ZSBzaWRlIG9mIHRoZSBwcm9ibGVtIGluIHRoZSBuZXh0IHJlbGVhc2UsIHdlCj4gbmVlZCBjb3Jy ZWN0bmVzcyBhbmQgZm9yIHRoYXQgd2UgbmVlZCBhIHByZXZlbnRpdmUgZ2xvYmFsIHNmZW5jZS52 bWEKPiBhcyB3ZSBoYXZlIG5vIG1lYW5zIChmb3Igbm93KSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVu IHVhcmNoIHRoYXQgY2FjaGUKPiBvciBub3QgaW52YWxpZCBlbnRyaWVzLgo+IAo+ID4KPiA+ID4g VGhlIHByb2JsZW1bMV0gd2UgYXJlIGN1cnJlbnRseSBlbmNvdW50ZXJpbmcgaXMgY2F1c2VkIGJ5 IG5vdCB1cGRhdGluZyB0aGUgVExCCj4gPiA+IGFmdGVyIHRoZSBwYWdlIHRhYmxlIGlzIGNyZWF0 ZWQsIGFuZCB0aGUgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtIGNhbiBvbmx5IGJlCj4gPiA+IHNv bHZlZCBieSB1cGRhdGluZyB0aGUgVExCIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBwYWdlIHRhYmxl IGlzIGNyZWF0ZWQuCj4gPiA+Cj4gPiA+IFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIHBvc3NpYmxl IGFwcHJvYWNoZXMgdG8gZmx1c2ggVExCOgo+ID4gPiAxLiBGbHVzaCBUTEIgaW4gZmx1c2hfY2Fj aGVfdm1hcCgpCj4gPiA+IDIuIEZsdXNoIFRMQiBpbiBhcmNoX3N5bmNfa2VybmVsX21hcHBpbmdz KCkKPiA+ID4KPiA+ID4gQnV0IEknbSBub3QgcXVpdGUgc3VyZSBpZiBpdCdzIGEgZ29vZCBpZGVh IHRvIG9wZXJhdGUgb24gdGhlIFRMQiBpbnNpZGUgZmx1c2hfY2FjaGVfdm1hcCgpLgo+ID4gPiBU aGUgbmFtZSBvZiB0aGlzIGZ1bmN0aW9uIGluZGljYXRlcyB0aGF0IGl0IHNob3VsZCBiZSByZWxh dGVkIHRvIGNhY2hlIG9wZXJhdGlvbnMsIG1heWJlCj4gPiA+IGl0IHdvdWxkIGJlIG1vcmUgYXBw cm9wcmlhdGUgdG8gZG8gVExCIGZsdXNoIGluIGFyY2hfc3luY19rZXJuZWxfbWFwcGluZ3MoKT8K PiAKPiBUTERSOiBUaGUgZG93bnNpZGVzIHRvIGltcGxlbWVudGluZyBhcmNoX3N5bmNfa2VybmVs X21hcHBpbmdzKCkKPiBpbnN0ZWFkIG9mIGZsdXNoX2NhY2hlX3ZtYXAoKToKPiAKPiAtIDIgZ2xv YmFsIGZsdXNoZXMgZm9yIHZ1bm1hcCBpbnN0ZWFkIG9mIDEgZm9yIGZsdXNoX2NhY2hlX3ZtYXAo KQo+IC0gZmx1c2hlcyB0aGUgdGxiIGluIHRoZSBub2ZsdXNoIHN1ZmZpeGVkIGZ1bmN0aW9ucyBz byBpdCBwcmV2ZW50cyBhbnkKPiBmbHVzaCBvcHRpbWl6YXRpb24gKGllOiBhIGxvb3Agb2Ygdm1h cF9yYW5nZV9ub2ZsdXNoKCkgd2l0aG91dCBmbHVzaAo+IGFuZCB0aGVuIGEgZmluYWwgZmx1c2gg YWZ0ZXJ3YXJkcykKPiAKPiBTbyBJJ2QgZmF2b3VyIHRoZSBmbHVzaF9jYWNoZV92bWFwKCkgaW1w bGVtZW50YXRpb24gd2hpY2ggc2VlbXMKPiBsaWdodGVyLiBwb3dlcnBjIGRvZXMgdGhhdAo+IGh0 dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L2xhdGVzdC9zb3VyY2UvYXJjaC9wb3dlcnBj L2luY2x1ZGUvYXNtL2NhY2hlZmx1c2guaCNMMjcKPiAoYnV0IGFkbWl0cyB0aGF0IGl0IG1heSBu b3QgYmUgdGhlIHJpZ2h0IHBsYWNlKQo+IAo+IEhlcmUgaXMgdGhlIGxvbmcgc3RvcnkgKG15IHJh dyBub3Rlcyk6Cj4gCj4gKiBhcmNoX3N5bmNfa2VybmVsX21hcHBpbmdzKCkgaXMgY2FsbGVkIGZy b206Cj4gLSBfYXBwbHlfdG9fcGFnZV9yYW5nZSgpOiB3b3VsZCBvbmx5IGVtaXQgZ2xvYmFsIHNm ZW5jZS52bWEgaWYgdm1hbGxvYwo+IGFkZHJlc3NlcywgSSBndWVzcyB0aGF0J3Mgb2suCj4gLSBf X3Z1bm1hcF9yYW5nZV9ub2ZsdXNoKCk6IGl0IGlzIG5vdGVkIGhlcmUKPiBodHRwczovL2VsaXhp ci5ib290bGluLmNvbS9saW51eC9sYXRlc3Qvc291cmNlL21tL3ZtYWxsb2MuYyNMNDA2IHRoYXQK PiBhbnkgY2FsbGVyIG11c3QgY2FsbCBmbHVzaF90bGJfa2VybmVsX3JhbmdlKCkuIFRoZW4gdGhl IGltcGxlbWVudGF0aW9uCj4gb2YgYXJjaF9zeW5jX2tlcm5lbF9tYXBwaW5ncygpIHdvdWxkIHJl c3VsdCBpbiAyIGdsb2JhbCB0bGIgZmx1c2hlcy4KPiAtIHZtYXBfcmFuZ2Vfbm9mbHVzaCgpOiBk b2VzIG5vdCBmaXQgd2VsbCB3aXRoIHRoZSBub2ZsdXNoKCkgc3VmZml4Lgo+IAo+ICogZmx1c2hf Y2FjaGVfdm1hcCgpIGlzIGNhbGxlZCBmcm9tOgo+IC0ga2FzYW5fcG9wdWxhdGVfdm1hbGxvYygp OiBsZWdpdCBzaW5jZSBpdCBieXBhc3NlcyB2bWFwIGFwaSAoYnV0Cj4gY2FsbGVkIHJpZ2h0IGEg YXBwbHlfdG9fcGFnZV9yYW5nZSgpIHNvIHlvdXIgcGF0Y2ggd291bGQgd29yayBoZXJlKQo+IC0g a21zYW5fdnVubWFwX3JhbmdlX25vZmx1c2goKTogY2FsbGVkIHR3aWNlIGZvciB0aGUgbWFwcGlu Z3Mga21zYW4KPiBlc3RhYmxpc2hlcyBhbmQgZmx1c2hfdGxiX2tlcm5lbF9yYW5nZSgpIG11c3Qg YmUgY2FsbGVkIGFmdGVyd2FyZHMgPT4KPiAzIGdsb2JhbCB0bGIgZmx1c2hlcyBidXQgdGhlIDMg YXJlIG5lZWRlZCBhcyB0aGV5IHRhcmdldCBkaWZmZXJlbnQKPiBhZGRyZXNzZXMuIEltcGxlbWVu dGluZyBvbmx5IGFyY2hfc3luY19rZXJuZWxfbWFwcGluZ3MoKSB3b3VsZCByZXN1bHQKPiBpbiB3 YXkgbW9yZSBnbG9iYWwgZmx1c2hlcyAoc2VlIHRoZSBsb29wIGhlcmUKPiBodHRwczovL2VsaXhp ci5ib290bGluLmNvbS9saW51eC9sYXRlc3Qvc291cmNlL21tL2ttc2FuL2hvb2tzLmMjTDE1MQo+ IHdoZXJlICBfX3ZtYXBfcGFnZXNfcmFuZ2Vfbm9mbHVzaCgpIHdvdWxkIHJlc3VsdCBpbiBtb3Jl Cj4gZmx1c2hfdGxiX2FsbCgpKQo+IC0ga21zYW5fdm1hcF9wYWdlc19yYW5nZV9ub2ZsdXNoKCk6 IGhlcmUgd2Ugd291bGQgZmx1c2ggdHdpY2UsIGJ1dAo+IHNhbWUgdGhpbmcgZm9yIHRoZSBhcmNo X3N5bmNfa2VybmVsX21hcHBpbmdzKCkgaW1wbGVtZW50YXRpb24uCj4gLSBpb3JlbWFwX3BhZ2Vf cmFuZ2UoKTogbGVnaXQsIHNhbWUgYXMgYXJjaF9zeW5jX2tlcm5lbF9tYXBwaW5ncygpCj4gaW1w bGVtZW50YXRpb24uCj4gLSB2bWFwX3BhZ2VzX3JhbmdlKCk6IGxlZ2l0LCBzYW1lIGFzIGFyY2hf c3luY19rZXJuZWxfbWFwcGluZ3MoKSBpbXBsZW1lbnRhdGlvbi4KPiAKPiBMZXQgbWUga25vdyB3 aGF0IHlvdSB0aGluayEKPiAKPiBBbGV4Cj4gCkhpIEFsZXgsCgpUaGFuayB5b3UgZm9yIHRoZSBk ZXRhaWxlZCBleHBsYW5hdGlvbi4gSXQgaXMgaW5kZWVkIHVuZGVuaWFibGUgdGhhdCBpbiBjZXJ0 YWluCnNpdHVhdGlvbnMsIHRoZXJlIG1pZ2h0IGJlIGEgcG9zc2liaWxpdHkgb2YgcmVwZWF0ZWQg Zmx1c2hpbmcgVExCLiBCdXQgSSB0aGluawp0aGVyZSBhcmUgc29tZSBwb3RlbnRpYWwgcHJvYmxl bSBpbiBmbHVzaF9jYWNoZV92bWFwKCkuCgpJbiBtb3N0IGNhc2UsIHZtYXBfcmFuZ2Vfbm9mbHVz aCgpIGFuZCBmbHVzaF9jYWNoZV92bWFwKCkgd2lsbCBhcHBlYXIgYXQgdGhlIHNhbWUKdGltZSwg c28gaXQgc2hvdWxkIGJlIG5vIHByb2JsZW0gdG8gY2hvb3NlIG9uZSBvZiB0aGVtIHRvIGRvIHRo ZSBUTEIgZmx1c2guIEJ1dApmbHVzaF9jYWNoZV92bWFwKCkgZG9lcyBub3QgY292ZXIgYWxsIHRo ZSBwbGFjZXMgd2hlcmUgYXBwbHlfdG9fcGFnZV9yYW5nZSgpCmFwcGVhcnMgKHBsZWFzZSBjb3Jy ZWN0IG1lIGlmIEknbSB3cm9uZyksIHN1Y2ggYXMgdm1hcF9wZm4oKVsxXS4KClRoZSBmdW5jdGlv biB5b3UgbWVudGlvbmVkIGhlcmUsIGVhY2ggd2lsbCBldmVudHVhbGx5IGNhbGw6CiAgICB2bWFw X3JhbmdlX25vZmx1c2goKSAtPiBhcmNoX3N5bmNfa2VybmVsX21hcHBpbmdzKCkgLT4gVExCIEZs dXNoCgpBcyBmb3IgdGhlIHBlcmZvcm1hbmNlLCBiZWNhdXNlIHRoZSBjdXJyZW50IHBhcmFtZXRl ciBvZiBmbHVzaF90bGJfcGFnZSgpIG5lZWRzIHRvCnBhc3MgKnZtYSwgd2UgY2Fubm90IHBhc3Mg aW4gdGhpcyBwYXJhbWV0ZXIgc28gd2UgY2FuIG9ubHkgY2hvb3NlIGZsdXNoX3RsYl9hbGwoKS4K SWYgaXQgY2FuIGJlIGNoYW5nZWQgdG8gZmx1c2hfdGxiX3BhZ2UoKSBpbiB0aGUgZnV0dXJlLCB0 aGUgcGVyZm9ybWFuY2Ugc2hvdWxkIGJlIGltcHJvdmVkLgoKWzFdOiBodHRwczovL2VsaXhpci5i b290bGluLmNvbS9saW51eC92Ni41LXJjNC9zb3VyY2UvbW0vdm1hbGxvYy5jI0wyOTc3CgpCZXN0 IHJlZ2FyZHMsCkR5bGFuIEpob25nCgo+ID4gPgo+ID4gPiBbMV06IGh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL3BpcGVybWFpbC9saW51eC1yaXNjdi8yMDIzLUF1Z3VzdC8wMzc1MDMuaHRtbAo+ ID4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK