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=-6.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 8E998C41604 for ; Sat, 3 Oct 2020 09:40:36 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 03A982067C for ; Sat, 3 Oct 2020 09:40:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="GL35iCc9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 03A982067C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4F3EC6E114; Sat, 3 Oct 2020 09:40:35 +0000 (UTC) Received: from mail-ot1-x342.google.com (mail-ot1-x342.google.com [IPv6:2607:f8b0:4864:20::342]) by gabe.freedesktop.org (Postfix) with ESMTPS id 549156E114 for ; Sat, 3 Oct 2020 09:40:34 +0000 (UTC) Received: by mail-ot1-x342.google.com with SMTP id m13so3833716otl.9 for ; Sat, 03 Oct 2020 02:40:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=1IZAi5s6+kebXuKy30pJzhrn3uVlK6wzZN8mckpc+wk=; b=GL35iCc9L9oiUfbl52pEr/agxgzU4rhePYOaPgaSpdvfft2Ih+b6BO9rUrVs+VKESO h3krhGRnnJ87U/QwQ78vNhd79cC2ElpmbWWAUdHmo0V6B+fgotJnWqTv6/OMfhxSBxEB BEX9HN1OATqeSZ+sY31qtk7NPPktObx69lSig= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=1IZAi5s6+kebXuKy30pJzhrn3uVlK6wzZN8mckpc+wk=; b=EBIpIMRea1VC1/pg3Ur+A28cNuocUThjnB/a2Zu8c9MppRG1Z2Dmli+FU9effNqOTK f4WCk78K3vXrR/Uo3qy+ZVGCcvBKb3yUvJudEKBo9eBHwCsXokUZvHAhuVimB9vd3ER4 wFEJujHGgVplUVBsh1snbN5bkDpKMJ59p7qEKstpxOeGKA0FMHy9k0cyDfAVnTvH3qFp WJoV+I6iSQQuh65j1UV9U5oR1kmfJhdMe83bWKP/0T/mtqaw7arw8nshIubcdXUWwpgk 67avhkYbRGv9jlCeKLo5VBaL39n4RE5WbKKrebdpZ2Auj3mTOuGddhhgTVDh6ekb86Om 0o0g== X-Gm-Message-State: AOAM533KJPvT6md/WKxKR83FW6elnksjN9ypDWqQku9CRtkNyno0IHYj WBqLDXzFyeEI2guN6WrleDA41qysw7nfV9k4ajWEXw== X-Google-Smtp-Source: ABdhPJyQ8w5gNa/gr9PqCnmPBfR+rJ2mhoqpvlr+kvRInvo5nifYfALu47116jzszjdcGvv+jDhvijH5X5aOBGv6DWE= X-Received: by 2002:a05:6830:11d8:: with SMTP id v24mr504776otq.188.1601718033491; Sat, 03 Oct 2020 02:40:33 -0700 (PDT) MIME-Version: 1.0 References: <20201002175303.390363-1-daniel.vetter@ffwll.ch> <20201002175303.390363-2-daniel.vetter@ffwll.ch> <20201002180603.GL9916@ziepe.ca> <20201002233118.GM9916@ziepe.ca> In-Reply-To: <20201002233118.GM9916@ziepe.ca> From: Daniel Vetter Date: Sat, 3 Oct 2020 11:40:22 +0200 Message-ID: Subject: Re: [PATCH 2/2] mm/frame-vec: use FOLL_LONGTERM To: Jason Gunthorpe X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc , Jan Kara , Joonyoung Shim , Pawel Osciak , John Hubbard , Seung-Woo Kim , LKML , DRI Development , Tomasz Figa , Kyungmin Park , Linux MM , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Daniel Vetter , Andrew Morton , "open list:DMA BUFFER SHARING FRAMEWORK" , Dan Williams , Linux ARM , Marek Szyprowski Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gU2F0LCBPY3QgMywgMjAyMCBhdCAxOjMxIEFNIEphc29uIEd1bnRob3JwZSA8amdnQHppZXBl LmNhPiB3cm90ZToKPgo+IE9uIEZyaSwgT2N0IDAyLCAyMDIwIGF0IDA4OjE2OjQ4UE0gKzAyMDAs IERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBGcmksIE9jdCAyLCAyMDIwIGF0IDg6MDYgUE0g SmFzb24gR3VudGhvcnBlIDxqZ2dAemllcGUuY2E+IHdyb3RlOgo+ID4gPiBPbiBGcmksIE9jdCAw MiwgMjAyMCBhdCAwNzo1MzowM1BNICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiA+ IEZvciAkcmVhc29ucyBJJ3ZlIHN0dW1ibGVkIG92ZXIgdGhpcyBjb2RlIGFuZCBJJ20gbm90IHN1 cmUgdGhlIGNoYW5nZQo+ID4gPiA+IHRvIHRoZSBuZXcgZ3VwIGZ1bmN0aW9ucyBpbiA1NWE2NTBj MzVmZWEgKCJtbS9ndXA6IGZyYW1lX3ZlY3RvcjoKPiA+ID4gPiBjb252ZXJ0IGdldF91c2VyX3Bh Z2VzKCkgLS0+IHBpbl91c2VyX3BhZ2VzKCkiKSB3YXMgZW50aXJlbHkgY29ycmVjdC4KPiA+ID4g Pgo+ID4gPiA+IFRoaXMgaGVyZSBpcyB1c2VkIGZvciBsb25nIHRlcm0gYnVmZmVycyAobm90IGp1 c3QgcXVpY2sgSS9PKSBsaWtlCj4gPiA+ID4gUkRNQSwgYW5kIEpvaG4gbm90ZXMgdGhpcyBpbiBo aXMgcGF0Y2guIEJ1dCBJIHRob3VnaHQgdGhlIHJ1bGUgZm9yCj4gPiA+ID4gdGhlc2UgaXMgdGhh dCB0aGV5IG5lZWQgdG8gYWRkIEZPTExfTE9OR1RFUk0sIHdoaWNoIEpvaG4ncyBwYXRjaAo+ID4g PiA+IGRpZG4ndCBkby4KPiA+ID4gPgo+ID4gPiA+IFRoZXJlIGlzIGFscmVhZHkgYSBkYXggc3Bl Y2lmaWMgY2hlY2sgKGFkZGVkIGluIGI3ZjA1NTRhNTZmMiAoIm1tOgo+ID4gPiA+IGZhaWwgZ2V0 X3ZhZGRyX2ZyYW1lcygpIGZvciBmaWxlc3lzdGVtLWRheCBtYXBwaW5ncyIpKSwgc28gdGhpcyBz ZWVtcwo+ID4gPiA+IGxpa2UgdGhlIHBydWRlbnQgdGhpbmcgdG8gZG8uCj4gPiA+ID4KPiA+ID4g PiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4K PiA+ID4gPiBDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KPiA+ ID4gPiBDYzogSm9obiBIdWJiYXJkIDxqaHViYmFyZEBudmlkaWEuY29tPgo+ID4gPiA+IENjOiBK w6lyw7RtZSBHbGlzc2UgPGpnbGlzc2VAcmVkaGF0LmNvbT4KPiA+ID4gPiBDYzogSmFuIEthcmEg PGphY2tAc3VzZS5jej4KPiA+ID4gPiBDYzogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0Bp bnRlbC5jb20+Cj4gPiA+ID4gQ2M6IGxpbnV4LW1tQGt2YWNrLm9yZwo+ID4gPiA+IENjOiBsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+ID4gPiBDYzogbGludXgtc2Ftc3Vu Zy1zb2NAdmdlci5rZXJuZWwub3JnCj4gPiA+ID4gQ2M6IGxpbnV4LW1lZGlhQHZnZXIua2VybmVs Lm9yZwo+ID4gPiA+IEhpIGFsbCwKPiA+ID4gPgo+ID4gPiA+IEkgc3R1bWJsZWQgb3ZlciB0aGlz IGFuZCBmaWd1cmVkIHR5cGluZyB0aGlzIHBhdGNoIGNhbid0IGh1cnQuIFJlYWxseQo+ID4gPiA+ IGp1c3QgdG8gbWF5YmUgbGVhcm4gYSBmZXcgdGhpbmdzIGFib3V0IGhvdyBndXAvcHVwIGlzIHN1 cHBvc2VkIHRvIGJlCj4gPiA+ID4gdXNlZCAod2UgaGF2ZSBhIGJpdCBvZiB0aGF0IGluIGRyaXZl cnMvZ3B1KSwgdGhpcyBoZXJlIGlzbid0IHJlYWxseQo+ID4gPiA+IHJhbGF0ZWQgdG8gYW55dGhp bmcgSSdtIGRvaW5nLgo+ID4gPgo+ID4gPiBGT0xMX0ZPUkNFIGlzIGEgcHJldHR5IGJpZyBjbHVl IGl0IHNob3VsZCBiZSBGT0xMX0xPTkdURVJNLCBJTUhPCj4gPgo+ID4gU2luY2UgeW91J3JlIGhl cmUgLi4uIEkndmUgbm90aWNlZCB0aGF0IGliIHNldHMgRk9MTF9GT1JDRSB3aGVuIHRoZSBpYgo+ ID4gdmVyYiBhY2Nlc3MgbW9kZSBpbmRpY2F0ZXMgcG9zc2libGUgd3JpdGVzLiBJJ20gbm90IHJl YWxseSBjbGVhciBvbgo+ID4gd2h5IEZPTExfV1JJVEUgaXNuJ3QgZW5vdWdoIGFueSB3aHkgeW91 IG5lZWQgdG8gYmUgYWJsZSB0byB3cml0ZQo+ID4gdGhyb3VnaCBhIHZtYSB0aGF0J3Mgd3JpdGUg cHJvdGVjdGVkIGN1cnJlbnRseS4KPgo+IEFoLCBGT0xMX0ZPUkNFIHwgRk9MTF9XUklURSBtZWFu cyAqcmVhZCogY29uZnVzaW5nbHkgZW5vdWdoLCBhbmQgdGhlCj4gb25seSByZWFzb24geW91J2Qg d2FudCB0aGlzIHZlcnNpb24gZm9yIHJlYWQgaXMgaWYgeW91IGFyZSBkb2luZwo+IGxvbmd0ZXJt IHN0dWZmLiBJIHdyb3RlIGFib3V0IHRoaXMgcmVjZW50bHk6Cj4KPiBodHRwczovL2xvcmUua2Vy bmVsLm9yZy9saW51eC1tbS8yMDIwMDkyODIzNTczOS5HVTk5MTZAemllcGUuY2EvCgpBaCwgc28g ZXNzZW50aWFsbHkgaXQgc2VydmVzIGFzIGEgRk9MTF9HRVRfQ09XX0lTU1VFU19PVVRfT0ZfTVlf V0FZLiBJCnRoaW5rIGRvY3VtZW50YXRpb24gZm9yIHRoaXMsIGFuZC9vciBqdXN0IGF1dG9tYXRp Y2FsbHkgYWRkaW5nIHRoZQpmbGFnIHNldCBjb21iaW5hdGlvbiB3b3VsZCBiZSByZWFsbHkgZ29v ZC4gQnV0IEkgc2VlIEpvaG4gaXMgYWxyZWFkeQpvbiB0b3Agb2YgdGhhdCBpdCBzZWVtcy4KClRo YW5rcyBmb3IgdGhlIGV4cGxhaW5lci4KCj4gPiA+IFNpbmNlIGV2ZXJ5IGRyaXZlciBkb2VzIHRo aXMgd3JvbmcgYW55dGhpbmcgdGhhdCB1c2VzIHRoaXMgaXMgY3JlYXRpbmcKPiA+ID4gdGVycmlm eWluZyBzZWN1cml0eSBpc3N1ZXMuCj4gPiA+Cj4gPiA+IElNSE8gdGhpcyB3aG9sZSBBUEkgc2hv dWxkIGJlIGRlbGV0ZWQgOigKPiA+Cj4gPiBZZWFoIHRoYXQgcGFydCBJIGp1c3QgdHJpZWQgdG8g Y29udmVuaWVudGx5IGlnbm9yZS4gSSBndWVzcyB0aGlzIGRhdGVzCj4gPiBiYWNrIHRvIGEgdGlt ZSB3aGVuIGlvcmVtYXBzIHdoZXJlIGF0IGJlc3QgZml4ZWQsIGFuZCB0aGVyZSB3YXNuJ3QKPiA+ IGFueXRoaW5nIGxpa2UgYSBncHUgZHJpdmVyIGR5bmFtaWNhbGx5IG1hbmFnaW5nIHZyYW0gYXJv dW5kLCByZXN1bHRpbmcKPiA+IGluIHJhbmRvbSBlbnRpcmVseSB1bnJlbGF0ZWQgdGhpbmdzIHBv c3NpYmx5IGJlaW5nIG1hcHBlZCB0byB0aGF0IHNldAo+ID4gb2YgcGZucy4KPgo+IE5vLCBpdCB3 YXMgYWx3YXlzIHdyb25nLiBQcmlvciB0byBHUFUgbGlrZSBjYXNlcyB0aGUgbGlmZXRpbWUgb2Yg dGhlCj4gUFRFIHdhcyB0aWVkIHRvIHRoZSB2bWEgYW5kIHdoZW4gdGhlIHZtYSBiZWNvbWVzIGZy ZWUgdGhlIGRyaXZlciBjYW4KPiBtb3ZlIHRoZSB0aGluZ3MgaW4gdGhlIFBURXMgdG8gJ2ZyZWUn LiBFYXN5IHRvIHRyaWdnZXIgdXNlLWFmdGVyLWZyZWUKPiBpc3N1ZXMgYW5kIGRldmljZXMgbGlr ZSBSRE1BIGhhdmUgc2VjdXJpdHkgY29udGV4dHMgYXR0YWNoZWQgdG8gdGhlc2UKPiBQVEVzIHNv IGl0IGJlY29tZXMgYSBzZXJpb3VzIHNlY3VyaXR5IGJ1ZyB0byBkbyBzb21ldGhpbmcgbGlrZSB0 aGlzLgo+Cj4gPiBUaGUgdW5kZXJseWluZyBmb2xsb3dfcGZuIGlzIGFsc28gdXNlZCBpbiBvdGhl ciBwbGFjZXMgd2l0aGluCj4gPiBkcml2ZXJzL21lZGlhLCBzbyB0aGlzIGRvZXNuJ3Qgc2VlbSB0 byBiZSBhbiBhY2NpZGVudCwgYnV0IGFjdHVhbGx5Cj4gPiBpbnRlbnRpb25hbC4KPgo+IExvb2tp bmcgY2xvc2VseSwgdGhlcmUgYXJlIHZlcnkgZmV3IHVzZXJzLCBtb3N0ICpzZWVtKiBwb2ludGxl c3MsIGJ1dAo+IG1heWJlIHRoZXJlIGlzIGEgY3JhenkgcmVhc29uPwo+Cj4gVGhlIHNlcXVlbmNl Cj4gICBnZXRfdmFkZHJfZnJhbWVzKCk7Cj4gICBmcmFtZV92ZWN0b3JfdG9fcGFnZXMoKTsKPiAg IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoKTsKPgo+IFNob3VsZCBiZSB3cml0dGVuCj4gICBw aW5fdXNlcl9wYWdlc19mYXN0KEZPTExfTE9OR1RFUk0pOwo+ICAgc2dfYWxsb2NfdGFibGVfZnJv bV9wYWdlcygpCgpPaywgdGhhdCB0YWtlcyBjYXJlIG9mIGV4eW5vcyBhbmQgaGFiYW5hbGFicy4g SSdsbCB0cnkgYW5kIHdhY2sKdG9nZXRoZXIgYSBwYXRjaCBmb3IgZXh5bm9zLCB0aGF0IGRyaXZl ciBpcyBhIGJpdCBzcGVjaWFsIC0gZmlyc3QgYXJtCnNvYyBkcml2ZXIgYW5kIHdlIG1lcmdlZCBp dCBmdWxseSB3ZWxsIGF3YXJlIHRoYXQgaXQncyBmdWxsIG9mIHdhcnRzLApqdXN0IGFzIGEgc2hv dyB0byBtYWtlIGl0IGNsZWFyIHRoYXQgZHJpdmVycy9ncHUgaXMgYWxzbyBpbnRlcmVzdGVkIGlu CnNtYWxsIGdwdSBkcml2ZXJzIC4uLgoKPiBUaGVyZSBpcyBzb21lICdzcGVjaWFsJyBjb2RlIGlu IGZyYW1lX3ZlY3Rvcl90b19wYWdlcygpIHRoYXQgdHJpZXMgdG8KPiBnZXQgYSBzdHJ1Y3QgcGFn ZSBmb3IgdGhpbmdzIGZyb20gYSBWTV9JTyBvciBWTV9QRk5NQVAuLi4KPgo+IE9oIHNuYXAsIHRo YXQgaXMgKmNvbXBsZXRlbHkqIGJyb2tlbiEgSWYgdGhlIGZpcnN0IFZNQSBpcyBJT3xQRk5NQVAK PiB0aGVuIGdldF92YWRkcl9mcmFtZXMoKSBpdGVyYXRlcyBvdmVyIGFsbCBWTUFzIGluIHRoZSBy YW5nZSwgb2YgYW55Cj4ga2luZCBhbmQgZXh0cmFjdHMgdGhlIFBURXMgdGhlbiBibGluZGx5IHJl ZmVyZW5jZXMgdGhlbSEgVGhpcyBtZWFucyBpdAo+IGNhbiBiZSB1c2VkIHRvIHVzZSBhZnRlciBm cmVlIG5vcm1hbCBSQU0gc3RydWN0IHBhZ2VzISEgR2FoIQo+Cj4gV293LiBPa2F5LiBUaGF0IGhh cyB0byBnby4KPgo+IFNvLCBJICp0aGluayogd2UgY2FuIGFzc3VtZSB0aGVyZSBpcyBubyBzYW5l IGNhc2VzIHdoZXJlCj4gZnJhbWVfdmVjdG9yX3RvX3BhZ2VzKCkgc3VjY2VlZHMgYnV0IHBpbl91 c2VyX3BhZ2VzKCkgd2Fzbid0IGNhbGxlZC4KPgo+IFRoYXQgbWVhbnMgdGhlIHVzZXJzIGhlcmU6 Cj4gIC0gaGFiYW5hbGFiczogIEhleSBPZGVkIGNhbiB5b3UgZml4IHRoaXMgdXA/Cj4KPiAgLSBn cHUvZXh5bm9zOiBEYW5pZWwgY2FuIHlvdSBnZXQgc29tZW9uZSB0aGVyZSB0byBzdG9wIHVzaW5n IGl0Pwo+Cj4gIC0gbWVkaWEvdmlkZW9idWYgdmlhIHZiMl9kbWFfc2dfZ2V0X3VzZXJwdHIoKQo+ Cj4gU2hvdWxkIGFsbCBiZSBzd2l0Y2hlZCB0byB0aGUgc3RhbmRhcmQgcGluX3VzZXJfcGFnZXMg c2VxdWVuY2UKPiBhYm92ZS4KPgo+IFRoYXQgbGVhdmVzIHRoZSBvbmx5IGludGVyZXN0aW5nIHBs YWNlcyBhcyB2YjJfZGNfZ2V0X3VzZXJwdHIoKSBhbmQKPiB2YjJfdm1hbGxvY19nZXRfdXNlcnB0 cigpIHdoaWNoIGJvdGggY29tcGxldGVseSBmYWlsIHRvIGZvbGxvdyB0aGUKPiBSRVFVSVJFRCBi ZWhhdmlvciBpbiB0aGUgZnVuY3Rpb24ncyBjb21tZW50IGFib3V0IGNoZWNraW5nIFBURXMuIEl0 Cj4ganVzdCBETUEgbWFwcyB0aGVtLiBCYWRseSBicm9rZW4uCj4KPiBHdWVzc2luZyB0aGlzIGhh Y2tlcnkgaXMgZm9yIHNvbWUgZW1iZWRkZWQgUDJQIERNQSB0cmFuc2Zlcj8KClllYWgsIHNlZSBh bHNvIHRoZSBmb2xsb3dfcGZuIHRyaWNrZXJ5IGluCnZpZGVvYnVmX2RtYV9jb250aWdfdXNlcl9n ZXQoKSwgSSB0aGluayB0aGlzIGlzIGZ1bGx5IGludGVudGlvbmFsIGFuZAp1c2Vyc3BhY2UgYWJp IHdlIGNhbid0IGJyZWFrIDotLwoKSXQncyBtaWxkbHkgYmV0dGVyIHRoYW4ganVzdCBzaGFyaW5n IHBoeXNfYWRkcl90IHRocm91Z2ggdXNlcnNwYWNlIGFuZApibGluZGx5IHRydXN0aW5nIGl0LCB3 aGljaCBpcyB3aGF0IGFsbCB0aGUgb3V0LW9mLXRyZWUgY3JhcCBkaWQsIGJ1dApvbmx5IG1pbGRs eS4KCj4gQWZ0ZXIgaGUgdGhyZWUgcGxhY2VzIGFib3ZlIHNob3VsZCB1c2UgcGluX3VzZXJfcGFn ZXNfZmFzdCgpLCB0aGVuCj4gdGhpcyB3aG9sZSBicm9rZW4gQVBJIHNob3VsZCBiZSBtb3ZlZCBp bnRvIHZpZGVvYnVmMi1tZW1vcHMuYyBhbmQgYQo+IGJpZyBmYXQgIlRISVMgRE9FU04nVCBXT1JL IiBzdHVjayBvbiBpdC4KPgo+IHZpZGVvYnVmMiBzaG91bGQgcHJvYmFibHkgdXNlIFAyUCBETUEg YnVmIGZvciB0aGlzIGluc3RlYWQuCgpZdXAgdGhpcyBzaG91bGQgYmUgZG9uZSB3aXRoIGRtYV9i dWYgaW5zdGVhZCwgYW5kIHY0bCBoYXMgdGhhdC4gQnV0Cm9sZCB1YXBpIGFuZCBhbGwgdGhhdC4g VGhpcyBpcyB3aHkgSSBzYWlkIHdlIG1pZ2h0IG5lZWQgYSBuZXcKVk1fRFlOQU1JQ19QRk5NQVAg b3Igc28sIHRvIG1ha2UgZm9sbG93X3BmbiBub3QgcmVzb2x2ZSB0aGlzIGluIHRoZQpjYXNlIHdo ZXJlIHRoZSBkcml2ZXIgbWFuYWdlcyB0aGUgdW5kZXJseWluZyBpb21lbSByYW5nZSAob3Igd2hh dGV2ZXIKaXQgaXMpIGR5bmFtaWNhbGx5IGFuZCBtb3ZlcyBidWZmZXIgb2JqZWN0cyBhcm91bmQs IGxpa2UgZHJtIGRyaXZlcnMKZG8uIEJ1dCBJIGxvb2tlZCwgYW5kIHdlJ3ZlIHJ1biBvdXQgb2Yg dm1hLT52bV9mbGFncyA6LSgKClRoZSBvdGhlciBwcm9ibGVtIGlzIHRoYXQgSSBhbHNvIGhhdmUg bm8gcmVhbCB3b3JraW5nIGNsdWUgYWJvdXQgYWxsCnRoZSBWTV8qIGZsYWdzIGFuZCB3aGF0IHRo ZXkgYWxsIG1lYW4sIGFuZCB3aGV0aGVyIGRybSBkcml2ZXJzIHNldCB0aGUKcmlnaHQgb25lcyBp biBhbGwgY2FzZXMgKHRoZXkgcHJvYmFibHkgZG9uJ3QsIGJ1dCBvaCB3ZWxsKS4KRG9jdW1lbnRh dGlvbiBmb3IgdGhpcyBzdHVmZiBpbiBoZWFkZXJzIGlzIGEgYml0IHRoaW4gYXQgdGltZXMuCi1E YW5pZWwKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0 aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=