From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Liu, Monk" Subject: RE: [PATCH 5/5] drm/amd/sched: signal and free remaining fences in amd_sched_entity_fini Date: Mon, 9 Oct 2017 10:35:36 +0000 Message-ID: References: <20170928145530.12844-1-nhaehnle@gmail.com> <20170928145530.12844-5-nhaehnle@gmail.com> <3032bef3-4829-8cae-199a-11353b38c49a@gmail.com> <11f21e54-16b8-68e4-c63e-d791ef8bbffa@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Haehnle, Nicolai" , "Koenig, Christian" , =?utf-8?B?Tmljb2xhaSBIw6Robmxl?= , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "Olsak, Marek" Cc: "Li, Bingley" SGkgQ2hyaXN0aWFuDQoNCllvdSByZWplY3Qgc29tZSBvZiBteSBwYXRjaGVzIHRoYXQgcmV0dXJu cyAtRU5PREVWLCB3aXRoIHRoZSBjYXVzZSB0aGF0IE1FU0EgZG9lc24ndCBkbyB0aGUgaGFuZGxp bmcgb24gLUVOT0RFVg0KDQpCdXQgaWYgTmljb2xhaSBjYW4gY29uZmlybSB0aGF0IE1FU0EgZG8g aGF2ZSBhIGhhbmRsaW5nIG9uIC1FQ0FOQ0VMRUQsIHRoZW4gd2UgbmVlZCB0byBvdmVyYWxsIGFs aWduIG91ciBlcnJvciBjb2RlLCBvbiBkZXRhaWwgYmVsb3cgSU9DVEwgY2FuIHJldHVybiBlcnJv ciBjb2RlOg0KDQpBbWRncHVfY3NfaW9jdGwNCkFtZGdwdV9jc193YWl0X2lvY3RsDQpBbWRncHVf Y3Nfd2FpdF9mZW5jZXNfaW9jdGwNCkFtZGdwdV9pbmZvX2lvY3RsDQoNCg0KTXkgcGF0Y2hlcyBp czoNCnJldHVybiAtRU5PREVWIG9uIGNzX2lvY3RsIGlmIHRoZSBjb250ZXh0IGlzIGRldGVjdGVk IGd1aWx0eSwNCmFsc28gcmV0dXJuIC1FTk9ERVYgb24gY3Nfd2FpdHxjc193YWl0X2ZlbmNlcyBp ZiB0aGUgZmVuY2UgaXMgc2lnbmFsZWQgYnV0IHdpdGggZXJyb3IgLUVUSU1FLA0KYWxzbyByZXR1 cm4gLUVOT0RFViBvbiBpbmZvX2lvY3RsIHNvIFVNRCBjYW4gcXVlcnkgaWYgZ3B1IHJlc2V0IGhh cHBlbmVkIGFmdGVyIHRoZSBwcm9jZXNzIGNyZWF0ZWQgKGJlY2F1c2UgZm9yIHN0cmljdCBtb2Rl IHdlIGJsb2NrIHByb2Nlc3MgaW5zdGVhZCBvZiBjb250ZXh0KQ0KDQoNCmFjY29yZGluZyB0byBO aWNvbGFpOg0KDQphbWRncHVfY3NfaW9jdGwgKmNhbiogcmV0dXJuIC1FQ0FOQ0VMRUQsIGJ1dCB0 byBiZSBmcmFua2x5IHNwZWFraW5nLCBrZXJuZWwgcGFydCBkb2Vzbid0IGhhdmUgYW55IHBsYWNl IHdpdGggIi1FQ0FOQ0VMRUQiIHNvIHRoaXMgc29sdXRpb24gb24gTUVTQSBzaWRlIGRvZXNuJ3Qg YWxpZ24gd2l0aCAqY3VycmVudCogYW1kZ3B1IGRyaXZlciwNCndoaWNoIG9ubHkgcmV0dXJuIDAg b24gc3VjY2VzcyBvciAtRUlOVkFMSUQgb24gb3RoZXIgZXJyb3IgYnV0IGRlZmluaXRlbHkgbm8g Ii1FQ0FOQ0VMRUQiIGVycm9yIGNvZGUsDQoNCnNvIGlmIHdlIHRhbGtpbmcgYWJvdXQgY29tbXVu aXR5IHJ1bGVzIHdlIHNob3VsZG4ndCBsZXQgTUVTQSBoYW5kbGUgLUVDQU5DRUxFRCAsICB3ZSBz aG91bGQgaGF2ZSBhIHVuaWZpZWQgZXJyb3IgY29kZSANCg0KKyBNYXJlaw0KDQpCUiBNb25rDQoN CiANCg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBIYWVobmxlLCBOaWNv bGFpIA0KU2VudDogMjAxN+W5tDEw5pyIOeaXpSAxODoxNA0KVG86IEtvZW5pZywgQ2hyaXN0aWFu IDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+OyBMaXUsIE1vbmsgPE1vbmsuTGl1QGFtZC5jb20+ OyBOaWNvbGFpIEjDpGhubGUgPG5oYWVobmxlQGdtYWlsLmNvbT47IGFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIDUvNV0gZHJtL2FtZC9zY2hlZDogc2ln bmFsIGFuZCBmcmVlIHJlbWFpbmluZyBmZW5jZXMgaW4gYW1kX3NjaGVkX2VudGl0eV9maW5pDQoN Ck9uIDA5LjEwLjIwMTcgMTA6MDIsIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6DQo+PiBGb3IgZ3B1 IHJlc2V0IHBhdGNoZXMgKGFscmVhZHkgc3VibWl0dGVkIHRvIHB1YikgSSB3b3VsZCBtYWtlIGtl cm5lbCANCj4+IHJldHVybiAtRU5PREVWIGlmIHRoZSB3YWl0aW5nIGZlbmNlIChpbiBjc193YWl0 IG9yIHdhaXRfZmVuY2VzIElPQ1RMKSANCj4+IGZvdW5kZWQgYXMgZXJyb3IsIHRoYXQgd2F5IFVN RCB3b3VsZCBydW4gaW50byByb2J1c3QgZXh0ZW5zaW9uIHBhdGggDQo+PiBhbmQgY29uc2lkZXJp bmcgdGhlIEdQVSBoYW5nIG9jY3VycmVkLA0KPiBXZWxsIHRoYXQgaXMgb25seSBjbG9zZWQgc291 cmNlIGJlaGF2aW9yIHdoaWNoIGlzIGNvbXBsZXRlbHkgDQo+IGlycmVsZXZhbnQgZm9yIHVwc3Ry ZWFtIGRldmVsb3BtZW50Lg0KPiANCj4gQXMgZmFyIGFzIEkga25vdyB3ZSBoYXZlbid0IHB1c2hl ZCB0aGUgY2hhbmdlIHRvIHJldHVybiAtRU5PREVWIHVwc3RyZWFtLg0KDQpGV0lXLCByYWRlb25z aSBjdXJyZW50bHkgZXhwZWN0cyAtRUNBTkNFTEVEIG9uIENTIHN1Ym1pc3Npb25zIGFuZCB0cmVh dHMgdGhvc2UgYXMgY29udGV4dCBsb3N0LiBQZXJoYXBzIHdlIGNvdWxkIHVzZSB0aGUgc2FtZSBl cnJvciBvbiBmZW5jZXM/IA0KVGhhdCBtYWtlcyBtb3JlIHNlbnNlIHRvIG1lIHRoYW4gLUVOT0RF Vi4NCg0KQ2hlZXJzLA0KTmljb2xhaQ0KDQo+IA0KPiBSZWdhcmRzLA0KPiBDaHJpc3RpYW4uDQo+ IA0KPiBBbSAwOS4xMC4yMDE3IHVtIDA4OjQyIHNjaHJpZWIgTGl1LCBNb25rOg0KPj4gQ2hyaXN0 aWFuDQo+Pg0KPj4+IEl0IHdvdWxkIGJlIHJlYWxseSBuaWNlIHRvIGhhdmUgYW4gZXJyb3IgY29k ZSBzZXQgb24gDQo+Pj4gc19mZW5jZS0+ZmluaXNoZWQgYmVmb3JlIGl0IGlzIHNpZ25hbGVkLCB1 c2UgZG1hX2ZlbmNlX3NldF9lcnJvcigpIA0KPj4+IGZvciB0aGlzLg0KPj4gRm9yIGdwdSByZXNl dCBwYXRjaGVzIChhbHJlYWR5IHN1Ym1pdHRlZCB0byBwdWIpIEkgd291bGQgbWFrZSBrZXJuZWwg DQo+PiByZXR1cm4gLUVOT0RFViBpZiB0aGUgd2FpdGluZyBmZW5jZSAoaW4gY3Nfd2FpdCBvciB3 YWl0X2ZlbmNlcyBJT0NUTCkgDQo+PiBmb3VuZGVkIGFzIGVycm9yLCB0aGF0IHdheSBVTUQgd291 bGQgcnVuIGludG8gcm9idXN0IGV4dGVuc2lvbiBwYXRoIA0KPj4gYW5kIGNvbnNpZGVyaW5nIHRo ZSBHUFUgaGFuZyBvY2N1cnJlZCwNCj4+DQo+PiBEb24ndCBrbm93IGlmIHRoaXMgaXMgZXhwZWN0 ZWQgZm9yIHRoZSBjYXNlIG9mIG5vcm1hbCBwcm9jZXNzIGJlaW5nIA0KPj4ga2lsbGVkIG9yIGNy YXNoZWQgbGlrZSBOaWNvbGFpIGhpdCAuLi4gc2luY2UgdGhlcmUgaXMgbm8gZ3B1IGhhbmcgaGl0 DQo+Pg0KPj4NCj4+IEJSIE1vbmsNCj4+DQo+Pg0KPj4NCj4+DQo+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPj4gRnJvbTogYW1kLWdmeCBbbWFpbHRvOmFtZC1nZngtYm91bmNlc0BsaXN0 cy5mcmVlZGVza3RvcC5vcmddIE9uIA0KPj4gQmVoYWxmIE9mIENocmlzdGlhbiBLP25pZw0KPj4g U2VudDogMjAxN+W5tDnmnIgyOOaXpSAyMzowMQ0KPj4gVG86IE5pY29sYWkgSMOkaG5sZSA8bmhh ZWhubGVAZ21haWwuY29tPjsgDQo+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPj4g Q2M6IEhhZWhubGUsIE5pY29sYWkgPE5pY29sYWkuSGFlaG5sZUBhbWQuY29tPg0KPj4gU3ViamVj dDogUmU6IFtQQVRDSCA1LzVdIGRybS9hbWQvc2NoZWQ6IHNpZ25hbCBhbmQgZnJlZSByZW1haW5p bmcgDQo+PiBmZW5jZXMgaW4gYW1kX3NjaGVkX2VudGl0eV9maW5pDQo+Pg0KPj4gQW0gMjguMDku MjAxNyB1bSAxNjo1NSBzY2hyaWViIE5pY29sYWkgSMOkaG5sZToNCj4+PiBGcm9tOiBOaWNvbGFp IEjDpGhubGUgPG5pY29sYWkuaGFlaG5sZUBhbWQuY29tPg0KPj4+DQo+Pj4gSGlnaGx5IGNvbmN1 cnJlbnQgUGlnbGl0IHJ1bnMgY2FuIHRyaWdnZXIgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIA0K Pj4+IHBlbmRpbmcgU0RNQSBqb2Igb24gYSBidWZmZXIgb2JqZWN0IGlzIG5ldmVyIGV4ZWN1dGVk IGJlY2F1c2UgdGhlIA0KPj4+IGNvcnJlc3BvbmRpbmcgcHJvY2VzcyBpcyBraWxsZWQgKHBlcmhh cHMgZHVlIHRvIGEgY3Jhc2gpLiBTaW5jZSB0aGUgDQo+Pj4gam9iJ3MgZmVuY2VzIHdlcmUgbmV2 ZXIgc2lnbmFsZWQsIHRoZSBidWZmZXIgb2JqZWN0IHdhcyBlZmZlY3RpdmVseSANCj4+PiBsZWFr ZWQuIFdvcnNlLCB0aGUgYnVmZmVyIHdhcyBzdHVjayB3aGVyZXZlciBpdCBoYXBwZW5lZCB0byBi ZSBhdCANCj4+PiB0aGUgdGltZSwgcG9zc2libHkgaW4gVlJBTS4NCj4+Pg0KPj4+IFRoZSBzeW1w dG9tIHdhcyB1c2VyIHNwYWNlIHByb2Nlc3NlcyBzdHVjayBpbiBpbnRlcnJ1cHRpYmxlIHdhaXRz IA0KPj4+IHdpdGgga2VybmVsIHN0YWNrcyBsaWtlOg0KPj4+DQo+Pj4gwqDCoMKgwqDCoCBbPGZm ZmZmZmZmYmM1ZTY3MjI+XSBkbWFfZmVuY2VfZGVmYXVsdF93YWl0KzB4MTEyLzB4MjUwDQo+Pj4g wqDCoMKgwqDCoCBbPGZmZmZmZmZmYmM1ZTYzOTk+XSBkbWFfZmVuY2Vfd2FpdF90aW1lb3V0KzB4 MzkvMHhmMA0KPj4+IMKgwqDCoMKgwqAgWzxmZmZmZmZmZmJjNWU4MmQyPl0NCj4+PiByZXNlcnZh dGlvbl9vYmplY3Rfd2FpdF90aW1lb3V0X3JjdSsweDFjMi8weDMwMA0KPj4+IMKgwqDCoMKgwqAg WzxmZmZmZmZmZmMwM2NlNTZmPl0gdHRtX2JvX2NsZWFudXBfcmVmc19hbmRfdW5sb2NrKzB4ZmYv MHgxYTANCj4+PiBbdHRtXQ0KPj4+IMKgwqDCoMKgwqAgWzxmZmZmZmZmZmMwM2NmMWVhPl0gdHRt X21lbV9ldmljdF9maXJzdCsweGJhLzB4MWEwIFt0dG1dDQo+Pj4gwqDCoMKgwqDCoCBbPGZmZmZm ZmZmYzAzY2Y2MTE+XSB0dG1fYm9fbWVtX3NwYWNlKzB4MzQxLzB4NGMwIFt0dG1dDQo+Pj4gwqDC oMKgwqDCoCBbPGZmZmZmZmZmYzAzY2ZjNTQ+XSB0dG1fYm9fdmFsaWRhdGUrMHhkNC8weDE1MCBb dHRtXQ0KPj4+IMKgwqDCoMKgwqAgWzxmZmZmZmZmZmMwM2NmZmJkPl0gdHRtX2JvX2luaXRfcmVz ZXJ2ZWQrMHgyZWQvMHg0MjAgW3R0bV0NCj4+PiDCoMKgwqDCoMKgIFs8ZmZmZmZmZmZjMDQyZjUy Mz5dIGFtZGdwdV9ib19jcmVhdGVfcmVzdHJpY3RlZCsweDFmMy8weDQ3MA0KPj4+IFthbWRncHVd DQo+Pj4gwqDCoMKgwqDCoCBbPGZmZmZmZmZmYzA0MmY5ZmE+XSBhbWRncHVfYm9fY3JlYXRlKzB4 ZGEvMHgyMjAgW2FtZGdwdV0NCj4+PiDCoMKgwqDCoMKgIFs8ZmZmZmZmZmZjMDQzNDllYT5dIGFt ZGdwdV9nZW1fb2JqZWN0X2NyZWF0ZSsweGFhLzB4MTQwIA0KPj4+IFthbWRncHVdDQo+Pj4gwqDC oMKgwqDCoCBbPGZmZmZmZmZmYzA0MzRmOTc+XSBhbWRncHVfZ2VtX2NyZWF0ZV9pb2N0bCsweDk3 LzB4MTIwIA0KPj4+IFthbWRncHVdDQo+Pj4gwqDCoMKgwqDCoCBbPGZmZmZmZmZmYzAzN2RkYmE+ XSBkcm1faW9jdGwrMHgxZmEvMHg0ODAgW2RybV0NCj4+PiDCoMKgwqDCoMKgIFs8ZmZmZmZmZmZj MDQxOTA0Zj5dIGFtZGdwdV9kcm1faW9jdGwrMHg0Zi8weDkwIFthbWRncHVdDQo+Pj4gwqDCoMKg wqDCoCBbPGZmZmZmZmZmYmMyM2RiMzM+XSBkb192ZnNfaW9jdGwrMHhhMy8weDVmMA0KPj4+IMKg wqDCoMKgwqAgWzxmZmZmZmZmZmJjMjNlMGY5Pl0gU3lTX2lvY3RsKzB4NzkvMHg5MA0KPj4+IMKg wqDCoMKgwqAgWzxmZmZmZmZmZmJjODY0ZmZiPl0gZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsw eDFlLzB4YWQNCj4+PiDCoMKgwqDCoMKgIFs8ZmZmZmZmZmZmZmZmZmZmZj5dIDB4ZmZmZmZmZmZm ZmZmZmZmZg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogTmljb2xhaSBIw6RobmxlIDxuaWNvbGFp LmhhZWhubGVAYW1kLmNvbT4NCj4+PiBBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0 aWFuLmtvZW5pZ0BhbWQuY29tPg0KPj4+IC0tLQ0KPj4+IMKgwqAgZHJpdmVycy9ncHUvZHJtL2Ft ZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jIHwgNyArKysrKystDQo+Pj4gwqDCoCAxIGZpbGUg Y2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pj4NCj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jDQo+Pj4g Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmMNCj4+PiBpbmRl eCA1NGViNzdjZmZkOWIuLjMyYTk5ZTk4MGQ3OCAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmMNCj4+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmMNCj4+PiBAQCAtMjIwLDIyICsyMjAs MjcgQEAgdm9pZCBhbWRfc2NoZWRfZW50aXR5X2Zpbmkoc3RydWN0IA0KPj4+IGFtZF9ncHVfc2No ZWR1bGVyICpzY2hlZCwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBhbWRfc2NoZWRfZW50aXR5X2lzX2lkbGUoZW50aXR5KSk7DQo+Pj4gwqDCoMKgwqDC oMKgIGFtZF9zY2hlZF9ycV9yZW1vdmVfZW50aXR5KHJxLCBlbnRpdHkpOw0KPj4+IMKgwqDCoMKg wqDCoCBpZiAocikgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbWRfc2NoZWRf am9iICpqb2I7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogUGFyayB0aGUga2VybmVsIGZv ciBhIG1vbWVudCB0byBtYWtlIHN1cmUgaXQgaXNuJ3QgDQo+Pj4gcHJvY2Vzc2luZw0KPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBvdXIgZW5pdHkuDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAqLw0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIGt0aHJlYWRfcGFyayhzY2hlZC0+dGhy ZWFkKTsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrdGhyZWFkX3VucGFyayhzY2hlZC0+dGhy ZWFkKTsNCj4+PiAtwqDCoMKgwqDCoMKgwqAgd2hpbGUgKGtmaWZvX291dCgmZW50aXR5LT5qb2Jf cXVldWUsICZqb2IsIHNpemVvZihqb2IpKSkNCj4+PiArwqDCoMKgwqDCoMKgwqAgd2hpbGUgKGtm aWZvX291dCgmZW50aXR5LT5qb2JfcXVldWUsICZqb2IsIHNpemVvZihqb2IpKSkgew0KPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbWRfc2NoZWRfZmVuY2UgKnNfZmVuY2UgPSBq b2ItPnNfZmVuY2U7DQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYW1kX3NjaGVkX2ZlbmNl X3NjaGVkdWxlZChzX2ZlbmNlKTsNCj4+IEl0IHdvdWxkIGJlIHJlYWxseSBuaWNlIHRvIGhhdmUg YW4gZXJyb3IgY29kZSBzZXQgb24gDQo+PiBzX2ZlbmNlLT5maW5pc2hlZCBiZWZvcmUgaXQgaXMg c2lnbmFsZWQsIHVzZSBkbWFfZmVuY2Vfc2V0X2Vycm9yKCkgZm9yIHRoaXMuDQo+Pg0KPj4gQWRk aXRpb25hbCB0byB0aGF0IGl0IHdvdWxkIGJlIG5pY2UgdG8gbm90ZSBpbiB0aGUgc3ViamVjdCBs aW5lIHRoYXQgDQo+PiB0aGlzIGlzIGEgcmF0aGVyIGltcG9ydGFudCBidWcgZml4Lg0KPj4NCj4+ IFdpdGggdGhhdCBmaXhlZCB0aGUgd2hvbGUgc2VyaWVzIGlzIFJldmlld2VkLWJ5OiBDaHJpc3Rp YW4gS8O2bmlnIA0KPj4gPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4uDQo+Pg0KPj4gUmVnYXJk cywNCj4+IENocmlzdGlhbi4NCj4+DQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYW1kX3Nj aGVkX2ZlbmNlX2ZpbmlzaGVkKHNfZmVuY2UpOw0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGRtYV9mZW5jZV9wdXQoJnNfZmVuY2UtPmZpbmlzaGVkKTsNCj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHNjaGVkLT5vcHMtPmZyZWVfam9iKGpvYik7DQo+Pj4gK8KgwqDCoMKgwqDC oMKgIH0NCj4+PiDCoMKgwqDCoMKgwqAgfQ0KPj4+IMKgwqDCoMKgwqDCoCBrZmlmb19mcmVlKCZl bnRpdHktPmpvYl9xdWV1ZSk7DQo+Pj4gwqDCoCB9DQo+Pj4gwqDCoCBzdGF0aWMgdm9pZCBhbWRf c2NoZWRfZW50aXR5X3dha2V1cChzdHJ1Y3QgZG1hX2ZlbmNlICpmLCBzdHJ1Y3QgDQo+Pj4gZG1h X2ZlbmNlX2NiICpjYikNCj4+PiDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqAgc3RydWN0IGFtZF9z Y2hlZF9lbnRpdHkgKmVudGl0eSA9DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGFpbmVy X29mKGNiLCBzdHJ1Y3QgYW1kX3NjaGVkX2VudGl0eSwgY2IpOw0KPj4+IMKgwqDCoMKgwqDCoCBl bnRpdHktPmRlcGVuZGVuY3kgPSBOVUxMOw0KPj4NCj4+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdA0KPj4gYW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA0KPj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCj4+IGFtZC1nZnggbWFpbGluZyBsaXN0DQo+PiBhbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4DQo+IA0KPiANCg0KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==