From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 4/5] drm/amdgpu: use bulk moves for efficient VM LRU handling Date: Thu, 9 Aug 2018 09:18:55 +0200 Message-ID: References: <1533722377-27020-1-git-send-email-ray.huang@amd.com> <1533722377-27020-5-git-send-email-ray.huang@amd.com> <20180809061801.GA26876@hr-amur2> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180809061801.GA26876@hr-amur2> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Huang Rui Cc: "amd-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org QW0gMDkuMDguMjAxOCB1bSAwODoxOCBzY2hyaWViIEh1YW5nIFJ1aToKPiBPbiBXZWQsIEF1ZyAw OCwgMjAxOCBhdCAwNjo0Nzo0OVBNICswODAwLCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+PiBB bSAwOC4wOC4yMDE4IHVtIDExOjU5IHNjaHJpZWIgSHVhbmcgUnVpOgo+Pj4gSSBjb250aW51ZSB0 byB3b3JrIGZvciBidWxrIG1vdmluZyB0aGF0IGJhc2VkIG9uIHRoZSBwcm9wb3NhbCBieSBDaHJp c3RpYW4uCj4+Pgo+Pj4gQmFja2dyb3VuZDoKPj4+IGFtZGdwdSBkcml2ZXIgd2lsbCBtb3ZlIGFs bCBQRC9QVCBhbmQgUGVyVk0gQk9zIGludG8gaWRsZSBsaXN0LiBUaGVuIG1vdmUgYWxsIG9mCj4+ PiB0aGVtIG9uIHRoZSBlbmQgb2YgTFJVIGxpc3Qgb25lIGJ5IG9uZS4gVGh1cywgdGhhdCBjYXVz ZSBzbyBtYW55IEJPcyBtb3ZlZCB0bwo+Pj4gdGhlIGVuZCBvZiB0aGUgTFJVLCBhbmQgaW1wYWN0 IHBlcmZvcm1hbmNlIHNlcmlvdXNseS4KPj4+Cj4+PiBUaGVuIENocmlzdGlhbiBwcm92aWRlZCBh IHdvcmthcm91bmQgdG8gbm90IG1vdmUgUEQvUFQgQk9zIG9uIExSVSB3aXRoIGJlbG93Cj4+PiBw YXRjaDoKPj4+ICJkcm0vYW1kZ3B1OiBiYW5kIGFpZCB2YWxpZGF0aW5nIFZNIFBUcyIKPj4+IENv bW1pdCAwYmJmMzIwMjZjZjViYTQxZTk5MjJiMzBlMjZlMWJlZDFlY2QzOGFlCj4+Pgo+Pj4gSG93 ZXZlciwgdGhlIGZpbmFsIHNvbHV0aW9uIHNob3VsZCBidWxrIG1vdmUgYWxsIFBEL1BUIGFuZCBQ ZXJWTSBCT3Mgb24gdGhlIExSVQo+Pj4gaW5zdGVhZCBvZiBvbmUgYnkgb25lLgo+Pj4KPj4+IFdo ZW5ldmVyIGFtZGdwdV92bV92YWxpZGF0ZV9wdF9ib3MoKSBpcyBjYWxsZWQgYW5kIHdlIGhhdmUg Qk9zIHdoaWNoIG5lZWQgdG8gYmUKPj4+IHZhbGlkYXRlZCB3ZSBtb3ZlIGFsbCBCT3MgdG9nZXRo ZXIgdG8gdGhlIGVuZCBvZiB0aGUgTFJVIHdpdGhvdXQgZHJvcHBpbmcgdGhlCj4+PiBsb2NrIGZv ciB0aGUgTFJVLgo+Pj4KPj4+IFdoaWxlIGRvaW5nIHNvIHdlIG5vdGUgdGhlIGJlZ2lubmluZyBh bmQgZW5kIG9mIHRoaXMgYmxvY2sgaW4gdGhlIExSVSBsaXN0Lgo+Pj4KPj4+IE5vdyB3aGVuIGFt ZGdwdV92bV92YWxpZGF0ZV9wdF9ib3MoKSBpcyBjYWxsZWQgYW5kIHdlIGRvbid0IGhhdmUgYW55 dGhpbmcgdG8gZG8sCj4+PiB3ZSBkb24ndCBtb3ZlIGV2ZXJ5IEJPIG9uZSBieSBvbmUsIGJ1dCBp bnN0ZWFkIGN1dCB0aGUgTFJVIGxpc3QgaW50byBwaWVjZXMgc28KPj4+IHRoYXQgd2UgYnVsayBt b3ZlIGV2ZXJ5dGhpbmcgdG8gdGhlIGVuZCBpbiBqdXN0IG9uZSBvcGVyYXRpb24uCj4+Pgo+Pj4g VGVzdCBkYXRhOgo+Pj4gKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPj4+IHwgICAgICAg ICAgICAgIHxUaGUgVGFsb3MgICAgICAgIHxDbHBlYWsoT0NMKXxCdXNTcGVlZFJlYWRiYWNrKE9D TCkgICAgICAgICAgICAgICAgICB8Cj4+PiB8ICAgICAgICAgICAgICB8UHJpbmNpcGxlKFZ1bGth bil8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPj4+IHwgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgIHwwLjMxOSBtcygxaykgMC4zMTQgbXMoMkspIDAuMzA4 IG1zKDRLKSB8Cj4+PiB8IE9yaWdpbmFsICAgICB8ICAxNDcuNyBGUFMgICAgICB8ICA3Ni44NiB1 cyB8MC4zMDcgbXMoOEspIDAuMzEwIG1zKDE2SykgICAgICAgICAgICAgfAo+Pj4gKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsKPj4+IHwgT3JpZ25pYWwgKyBXQXwgICAgICAgICAgICAgICAg IHwgICAgICAgICAgIHwwLjI1NCBtcygxSykgMC4yNDEgbXMoMkspICAgICAgICAgICAgICB8Cj4+ PiB8KGRvbid0IG1vdmUgICB8ICAxNjIuMSBGUFMgICAgICB8ICA0Mi4xNSB1cyB8MC4yMzAgbXMo NEspIDAuMjIzIG1zKDhLKSAwLjIwNCBtcygxNkspfAo+Pj4gfFBUIEJPcyBvbiBMUlUpfCAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKPj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4+PiB8IEJ1bGsgbW92 ZSAgICB8ICAxNjMuMSBGUFMgICAgICB8ICA0MC41MiB1cyB8MC4yNDQgbXMoMUspIDAuMjUyIG1z KDJLKSAwLjIxMyBtcyg0SykgfAo+Pj4gfCAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgfDAuMjE0IG1zKDhLKSAwLjIyNSBtcygxNkspICAgICAgICAgICAgIHwKPj4+ ICstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4+Pgo+Pj4gQWZ0ZXIgdGVzdCB0aGVtIHdp dGggYWJvdmUgdGhyZWUgYmVuY2htYXJrcyBpbmNsdWRlIHZ1bGthbiBhbmQgb3BlbmNsLiBXZSBj YW4KPj4+IHNlZSB0aGUgdmlzaWJsZSBpbXByb3ZlbWVudCB0aGFuIG9yaWdpbmFsLCBhbmQgZXZl biBiZXR0ZXIgdGhhbiBvcmlnaW5hbCB3aXRoCj4+PiB3b3JrYXJvdW5kLgo+Pj4KPj4+IFNpZ25l ZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPj4+ IFNpZ25lZC1vZmYtYnk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+Cj4+PiAtLS0KPj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIHwgMjIgKysrKysrKysr KysrKystLS0tLS0tLQo+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Zt LmggfCAgNCArKysrCj4+PiAgICAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDgg ZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMK Pj4+IGluZGV4IDljODQ3NzAuLmVkYTBiYjkgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZtLmMKPj4+IEBAIC0yODYsNiArMjg2LDcgQEAgaW50IGFtZGdwdV92bV92 YWxpZGF0ZV9wdF9ib3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVf dm0gKnZtLAo+Pj4gICAgewo+Pj4gICAgCXN0cnVjdCB0dG1fYm9fZ2xvYmFsICpnbG9iID0gYWRl di0+bW1hbi5iZGV2Lmdsb2I7Cj4+PiAgICAJc3RydWN0IGFtZGdwdV92bV9ib19iYXNlICpib19i YXNlLCAqdG1wOwo+Pj4gKwlib29sIHZhbGlkYXRlZCA9IGZhbHNlOwo+Pj4gICAgCWludCByID0g MDsKPj4+ICAgIAo+Pj4gICAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShib19iYXNlLCB0bXAs ICZ2bS0+ZXZpY3RlZCwgdm1fc3RhdHVzKSB7Cj4+PiBAQCAtMjk1LDE0ICsyOTYsOSBAQCBpbnQg YW1kZ3B1X3ZtX3ZhbGlkYXRlX3B0X2JvcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3Ry dWN0IGFtZGdwdV92bSAqdm0sCj4+PiAgICAJCQlyID0gdmFsaWRhdGUocGFyYW0sIGJvKTsKPj4+ ICAgIAkJCWlmIChyKQo+Pj4gICAgCQkJCWJyZWFrOwo+Pj4gLQo+Pj4gLQkJCXNwaW5fbG9jaygm Z2xvYi0+bHJ1X2xvY2spOwo+Pj4gLQkJCXR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZiby0+dGJv LCBOVUxMKTsKPj4+IC0JCQlpZiAoYm8tPnNoYWRvdykKPj4+IC0JCQkJdHRtX2JvX21vdmVfdG9f bHJ1X3RhaWwoJmJvLT5zaGFkb3ctPnRibywgTlVMTCk7Cj4+PiAtCQkJc3Bpbl91bmxvY2soJmds b2ItPmxydV9sb2NrKTsKPj4+ICAgIAkJfQo+Pj4gICAgCj4+PiArCQl2YWxpZGF0ZWQgPSB0cnVl Owo+Pj4gICAgCQlpZiAoYm8tPnRiby50eXBlICE9IHR0bV9ib190eXBlX2tlcm5lbCkgewo+Pj4g ICAgCQkJc3Bpbl9sb2NrKCZ2bS0+bW92ZWRfbG9jayk7Cj4+PiAgICAJCQlsaXN0X21vdmUoJmJv X2Jhc2UtPnZtX3N0YXR1cywgJnZtLT5tb3ZlZCk7Cj4+PiBAQCAtMzEyLDYgKzMwOCwxNSBAQCBp bnQgYW1kZ3B1X3ZtX3ZhbGlkYXRlX3B0X2JvcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwg c3RydWN0IGFtZGdwdV92bSAqdm0sCj4+PiAgICAJCX0KPj4+ICAgIAl9Cj4+PiAgICAKPj4+ICsJ aWYgKCF2YWxpZGF0ZWQpIHsKPj4+ICsJCXNwaW5fbG9jaygmZ2xvYi0+bHJ1X2xvY2spOwo+Pj4g KwkJdHRtX2JvX2J1bGtfbW92ZV9scnVfdGFpbCgmdm0tPmxydV9idWxrX21vdmUpOwo+Pj4gKwkJ c3Bpbl91bmxvY2soJmdsb2ItPmxydV9sb2NrKTsKPj4+ICsJCXJldHVybiAwOwo+Pj4gKwl9Cj4+ PiArCj4+PiArCW1lbXNldCgmdm0tPmxydV9idWxrX21vdmUsIDAsIHNpemVvZih2bS0+bHJ1X2J1 bGtfbW92ZSkpOwo+Pj4gKwo+Pj4gICAgCXNwaW5fbG9jaygmZ2xvYi0+bHJ1X2xvY2spOwo+Pj4g ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkoYm9fYmFzZSwgJnZtLT5pZGxlLCB2bV9zdGF0dXMpIHsK Pj4+ICAgIAkJc3RydWN0IGFtZGdwdV9ibyAqYm8gPSBib19iYXNlLT5ibzsKPj4+IEBAIC0zMTks OSArMzI0LDEwIEBAIGludCBhbWRncHVfdm1fdmFsaWRhdGVfcHRfYm9zKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKPj4+ICAgIAkJaWYgKCFiby0+cGFy ZW50KQo+Pj4gICAgCQkJY29udGludWU7Cj4+PiAgICAKPj4+IC0JCXR0bV9ib19tb3ZlX3RvX2xy dV90YWlsKCZiby0+dGJvLCBOVUxMKTsKPj4+ICsJCXR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZi by0+dGJvLCAmdm0tPmxydV9idWxrX21vdmUpOwo+Pj4gICAgCQlpZiAoYm8tPnNoYWRvdykKPj4+ IC0JCQl0dG1fYm9fbW92ZV90b19scnVfdGFpbCgmYm8tPnNoYWRvdy0+dGJvLCBOVUxMKTsKPj4+ ICsJCQl0dG1fYm9fbW92ZV90b19scnVfdGFpbCgmYm8tPnNoYWRvdy0+dGJvLAo+Pj4gKwkJCQkJ CSZ2bS0+bHJ1X2J1bGtfbW92ZSk7Cj4+IEhlcmUgaXMgc3RpbGwgb25lIHByb2JsZW06IFRoZSBC T3MgY3VycmVudGx5IGV2aWN0ZWQgYXJlIG5vdCB5ZXQgaW4gdGhlCj4+IGlkbGUgc3RhdGUuCj4+ Cj4+IFNvIHRoaXMgbXVzdCBiZSBtb3ZlZCB0byB0aGUgZW5kIG9mIHRoZSBzdGF0ZSBtYWNoaW5l LCBwcm9iYWJseSBiZXN0IGlmCj4+IHdlIHB1dCB0aGF0IGludG8gYSBzZXBhcmF0ZSBmdW5jdGlv bi4KPj4KPiBUaGFua3MsIHNvIHRoZSBldmljdGVkIEJPcyBzaG91bGQgYmUgYmVoaW5kIHRoZSBC T3MgaW4gaWRsZSBsaXN0IHRoYXQgaW4KPiB0aGUgZ3JvdXAgYmV0d2VlbiAoZmlyc3QsIGxhc3Qp IG9mIGJ1bGtfbW92ZV9wb3MsIHJpZ2h0PwoKVGhlIG9yZGVyIGRvZXNuJ3QgbWF0dGVyLgoKPgo+ ICAgICAgICAgIHNwaW5fbG9jaygmZ2xvYi0+bHJ1X2xvY2spOwo+ICAgICAgICAgIGxpc3RfZm9y X2VhY2hfZW50cnkoYm9fYmFzZSwgJnZtLT5pZGxlLCB2bV9zdGF0dXMpIHsKPiAgICAgICAgICAg ICAgICAgIHN0cnVjdCBhbWRncHVfYm8gKmJvID0gYm9fYmFzZS0+Ym87Cj4KPiAgICAgICAgICAg ICAgICAgIGlmICghYm8tPnBhcmVudCkKPiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGlu dWU7Cj4KPiAgICAgICAgICAgICAgICAgIHR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZiby0+dGJv LCAmdm0tPmxydV9idWxrX21vdmUpOwo+ICAgICAgICAgICAgICAgICAgaWYgKGJvLT5zaGFkb3cp Cj4gICAgICAgICAgICAgICAgICAgICAgICAgIHR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZiby0+ c2hhZG93LT50Ym8sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZ2bS0+bHJ1X2J1bGtfbW92ZSk7Cj4gICAgICAgICAgfQo+ICAgICAgICAgIGxpc3Rf Zm9yX2VhY2hfZW50cnlfc2FmZShib19iYXNlLCB0bXAsICZ2bS0+ZXZpY3RlZCwgdm1fc3RhdHVz KSB7CgpUaGF0IHdvbid0IHdvcmsuIFRoZSBCT3MgZ2V0IHJlbW92ZWQgZnJvbSB0aGUgZXZpY3Rl ZCBsaXN0IHdoZW4gdGhleSBhcmUgCnZhbGlkYXRlZC4KCllvdSBuZWVkIHRvIHdhbGsgYm90aCB0 aGUgcmVsb2NhdGVkIGFzIHdlbGwgYXMgdGhlIG1vdmVkIGxpc3QgaGVyZS4KCkNocmlzdGlhbi4K Cj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IGJvX2Jhc2UtPmJvOwo+ ICAgICAgICAgICAgICAgICAgaWYgKCFibykKPiAgICAgICAgICAgICAgICAgICAgICAgICAgY29u dGludWU7Cj4KPiAgICAgICAgICAgICAgICAgIHR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZiby0+ dGJvLCAmdm0tPmxydV9idWxrX21vdmUpOwo+ICAgICAgICAgICAgICAgICAgaWYgKGJvLT5zaGFk b3cpCj4gICAgICAgICAgICAgICAgICAgICAgICAgIHR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZi by0+c2hhZG93LT50Ym8sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZ2bS0+bHJ1X2J1bGtfbW92ZSk7Cj4gICAgICAgICAgfQo+ICAgICAgICAgIHNw aW5fdW5sb2NrKCZnbG9iLT5scnVfbG9jayk7Cj4KPiBUaGFua3MsCj4gUmF5Cj4KPj4gUmVnYXJk cywKPj4gQ2hyaXN0aWFuLgo+Pgo+Pj4gICAgCX0KPj4+ICAgIAlzcGluX3VubG9jaygmZ2xvYi0+ bHJ1X2xvY2spOwo+Pj4gICAgCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u aAo+Pj4gaW5kZXggNjdhMTVkNC4uOTI3MjVhYyAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uaAo+Pj4gQEAgLTI5LDYgKzI5LDcgQEAKPj4+ICAgICNpbmNsdWRl IDxsaW51eC9yYnRyZWUuaD4KPj4+ICAgICNpbmNsdWRlIDxkcm0vZ3B1X3NjaGVkdWxlci5oPgo+ Pj4gICAgI2luY2x1ZGUgPGRybS9kcm1fZmlsZS5oPgo+Pj4gKyNpbmNsdWRlIDxkcm0vdHRtL3R0 bV9ib19kcml2ZXIuaD4KPj4+ICAgIAo+Pj4gICAgI2luY2x1ZGUgImFtZGdwdV9zeW5jLmgiCj4+ PiAgICAjaW5jbHVkZSAiYW1kZ3B1X3JpbmcuaCIKPj4+IEBAIC0yMjYsNiArMjI3LDkgQEAgc3Ry dWN0IGFtZGdwdV92bSB7Cj4+PiAgICAKPj4+ICAgIAkvKiBTb21lIGJhc2ljIGluZm8gYWJvdXQg dGhlIHRhc2sgKi8KPj4+ICAgIAlzdHJ1Y3QgYW1kZ3B1X3Rhc2tfaW5mbyB0YXNrX2luZm87Cj4+ PiArCj4+PiArCS8qIFN0b3JlIHBvc2l0aW9ucyBvZiBncm91cCBvZiBCT3MgKi8KPj4+ICsJc3Ry dWN0IHR0bV9scnVfYnVsa19tb3ZlIGxydV9idWxrX21vdmU7Cj4+PiAgICB9Owo+Pj4gICAgCj4+ PiAgICBzdHJ1Y3QgYW1kZ3B1X3ZtX21hbmFnZXIgewoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==