From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH] RFC drm/i915/pmu: Avoid sleeping rpm_get under atomic PMU read Date: Mon, 5 Feb 2018 09:47:52 +0000 Message-ID: <009586ed-8292-05b5-d925-86ca7a0c7363@linux.intel.com> References: <20180205091138.32740-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4CD146E103 for ; Mon, 5 Feb 2018 09:47:55 +0000 (UTC) In-Reply-To: <20180205091138.32740-1-chris@chris-wilson.co.uk> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA1LzAyLzIwMTggMDk6MTEsIENocmlzIFdpbHNvbiB3cm90ZToKPiBUaGUgcG11X2V2ZW50 X3JlYWQoKSBjYWxsY2hhaW4gaXMgaW4gYW4gYXRvbWljIGNvbnRleHQgd2hpY2ggdGhlbgoKQ2Fs bC1jaGFpbi4KCj4gZm9yYmlkcyB1cyBzbGVlcGluZywgc3VjaCBhcyByZXF1aXJlZCB0byB3YWtl IHRoZSBkZXZpY2UgdXAgZm9yIHJwbS4KPiBJbiB0aGlzIGNhc2UsIHdlIGNhbiBvbmx5IHJlYWQg b3VyIHJlZ2lzdGVycyBpZmYgdGhlIGRldmljZSBpcyBhbHJlYWR5CgpzL2lmZi9pZi8KCj4gYXdh a2UuIEluIHRoZSBjYXNlIG9mIHJjNiB0aGlzIG1lYW5zIHRoYXQgd2UgY2Fubm90IHJlcG9ydCB0 aGUgbGF0ZXN0Cj4gdmFsdWVzIHdoZW4gdGhlIHdob2xlIHN5c3RlbSBpcyBhc2xlZXAuCj4gCj4g PDM+WyAgMTAxLjMwOTM1OF0gQlVHOiBzbGVlcGluZyBmdW5jdGlvbiBjYWxsZWQgZnJvbSBpbnZh bGlkIGNvbnRleHQgYXQgZHJpdmVycy9iYXNlL3Bvd2VyL3J1bnRpbWUuYzoxMDM0Cj4gPDM+WyAg MTAxLjMwOTUwMl0gaW5fYXRvbWljKCk6IDEsIGlycXNfZGlzYWJsZWQoKTogMSwgcGlkOiAxNTEz LCBuYW1lOiBwZXJmX3BtdQo+IDw0PlsgIDEwMS4zMDk1NThdIDMgbG9ja3MgaGVsZCBieSBwZXJm X3BtdS8xNTEzOgo+IDw0PlsgIDEwMS4zMDk1NjNdICAjMDogICgmY3B1Y3R4X211dGV4KXsrLisu fSwgYXQ6IFs8MDAwMDAwMDBjM2VjMjcwOD5dIHBlcmZfZXZlbnRfY3R4X2xvY2tfbmVzdGVkKzB4 YmMvMHgxZDAKPiA8ND5bICAxMDEuMzA5NTk4XSAgIzE6ICAoJmV2ZW50LT5jaGlsZF9tdXRleCl7 Ky4rLn0sIGF0OiBbPDAwMDAwMDAwNGNkMDJiYzk+XSBfX3BlcmZfZXZlbnRfcmVhZF92YWx1ZSsw eDMyLzB4ZjAKPiA8ND5bICAxMDEuMzA5NjI0XSAgIzI6ICAoJmNwdWN0eF9sb2NrKXsuLi4ufSwg YXQ6IFs8MDAwMDAwMDAyMzQzZDJkYz5dIF9fcGVyZl9ldmVudF9yZWFkKzB4NjQvMHgyZTAKPiA8 ND5bICAxMDEuMzA5NjUzXSBpcnEgZXZlbnQgc3RhbXA6IDI1NzUwCj4gPDQ+WyAgMTAxLjMwOTY2 Ml0gaGFyZGlycXMgbGFzdCAgZW5hYmxlZCBhdCAoMjU3NDkpOiBbPDAwMDAwMDAwYzQ3MDAwMjA+ XSBlbnRyeV9TWVNDQUxMXzY0X2Zhc3RwYXRoKzB4NS8weDhmCj4gPDQ+WyAgMTAxLjMwOTY3MF0g aGFyZGlycXMgbGFzdCBkaXNhYmxlZCBhdCAoMjU3NTApOiBbPDAwMDAwMDAwZTM0YmVlYTM+XSBn ZW5lcmljX2V4ZWNfc2luZ2xlKzB4OTAvMHhlMAo+IDw0PlsgIDEwMS4zMDk2NzhdIHNvZnRpcnFz IGxhc3QgIGVuYWJsZWQgYXQgKDI1NDY2KTogWzwwMDAwMDAwMGJlYmUyMTQ5Pl0gX19kb19zb2Z0 aXJxKzB4M2ExLzB4NGFhCj4gPDQ+WyAgMTAxLjMwOTY4N10gc29mdGlycXMgbGFzdCBkaXNhYmxl ZCBhdCAoMjU0NDMpOiBbPDAwMDAwMDAwMDYyZmQ2Yjc+XSBpcnFfZXhpdCsweGE0LzB4YjAKPiA8 Mz5bICAxMDEuMzA5NjkyXSBQcmVlbXB0aW9uIGRpc2FibGVkIGF0Ogo+IDw0PlsgIDEwMS4zMDk2 OTldIFs8MDAwMDAwMDA1MTI1Y2VmOD5dIHBlcmZfZXZlbnRfcmVhZCsweDk4LzB4MmUwCj4gPDQ+ WyAgMTAxLjMwOTc0MV0gQ1BVOiAwIFBJRDogMTUxMyBDb21tOiBwZXJmX3BtdSBUYWludGVkOiBH ICAgICBVICAgICAgICAgICA0LjE1LjAtQ0ktQ0lfRFJNXzM3MTcrICMxCj4gPDQ+WyAgMTAxLjMw OTc0N10gSGFyZHdhcmUgbmFtZTogICAgICAgICAgICAgICAgICAvTlVDNkNBWUIsIEJJT1MgQVlB UExDRUwuODZBLjAwNDAuMjAxNy4wNjE5LjE3MjIgMDYvMTkvMjAxNwo+IDw0PlsgIDEwMS4zMDk3 NTJdIENhbGwgVHJhY2U6Cj4gPDQ+WyAgMTAxLjMwOTc2NF0gIGR1bXBfc3RhY2srMHg1Zi8weDg2 Cj4gPDQ+WyAgMTAxLjMwOTc3NF0gIF9fX21pZ2h0X3NsZWVwKzB4MWQ5LzB4MjQwCj4gPDQ+WyAg MTAxLjMwOTc4OF0gIF9fcG1fcnVudGltZV9yZXN1bWUrMHg3NS8weDgwCj4gPDQ+WyAgMTAxLjMw OTg3MF0gIGludGVsX3J1bnRpbWVfcG1fZ2V0KzB4MWMvMHhhMCBbaTkxNV0KPiA8ND5bICAxMDEu MzA5OTM4XSAgX19pOTE1X3BtdV9ldmVudF9yZWFkKzB4NTQvMHgxYzAgW2k5MTVdCj4gPDQ+WyAg MTAxLjMxMDAwOF0gIGk5MTVfcG11X2V2ZW50X3JlYWQrMHgxZS8weDQwIFtpOTE1XQo+IDw0Plsg IDEwMS4zMTAwMTldICBfX3BlcmZfZXZlbnRfcmVhZCsweDJiOC8weDJlMAo+IDw0PlsgIDEwMS4z MTAwMzFdICA/IF9fcGVyZl9ldmVudF9vdXRwdXRfc3RvcCsweGEwLzB4YTAKPiA8ND5bICAxMDEu MzEwMDQwXSAgZ2VuZXJpY19leGVjX3NpbmdsZSsweDk2LzB4ZTAKPiA8ND5bICAxMDEuMzEwMDUw XSAgPyBfX3BlcmZfZXZlbnRfb3V0cHV0X3N0b3ArMHhhMC8weGEwCj4gPDQ+WyAgMTAxLjMxMDA1 OF0gIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSsweDg4LzB4MTIwCj4gPDQ+WyAgMTAxLjMxMDA3 Nl0gID8gcGVyZl9ldmVudF9yZWFkKzB4ZWQvMHgyZTAKPiA8ND5bICAxMDEuMzEwMDgzXSAgPyBw cmVlbXB0X2NvdW50X2FkZCsweDQ0LzB4OTAKPiA8ND5bICAxMDEuMzEwMDkwXSAgcGVyZl9ldmVu dF9yZWFkKzB4ZWQvMHgyZTAKPiA8ND5bICAxMDEuMzEwMTA2XSAgX19wZXJmX2V2ZW50X3JlYWRf dmFsdWUrMHgzYy8weGYwCj4gPDQ+WyAgMTAxLjMxMDExOV0gIHBlcmZfcmVhZCsweDE1ZS8weDI5 MAo+IDw0PlsgIDEwMS4zMTAxMzBdICA/IGxvY2tfYWNxdWlyZSsweGFmLzB4MjAwCj4gPDQ+WyAg MTAxLjMxMDE0M10gID8gZnJlZV9vYmplY3QrMHg2ZS8weDkwCj4gPDQ+WyAgMTAxLjMxMDE1Nl0g IF9fdmZzX3JlYWQrMHgxZS8weDEyMAo+IDw0PlsgIDEwMS4zMTAxNjZdICA/IF9yYXdfc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSsweDM5LzB4NjAKPiA8ND5bICAxMDEuMzEwMTc0XSAgPyBmcmVlX29i amVjdCsweDZlLzB4OTAKPiA8ND5bICAxMDEuMzEwMTg0XSAgPyBlbnRyeV9TWVNDQUxMXzY0X2Zh c3RwYXRoKzB4NS8weDhmCj4gPDQ+WyAgMTAxLjMxMDE5NV0gIHZmc19yZWFkKzB4OWUvMHgxNTAK PiA8ND5bICAxMDEuMzEwMjA2XSAgU3lTX3JlYWQrMHg0MC8weGEwCj4gPDQ+WyAgMTAxLjMxMDIx OV0gIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgyMi8weDhmCj4gPDQ+WyAgMTAxLjMxMDIy Nl0gUklQOiAwMDMzOjB4N2YzNjFjNDI3NmQwCj4gPDQ+WyAgMTAxLjMxMDIzMl0gUlNQOiAwMDJi OjAwMDA3ZmZjY2UzMDFlZTggRUZMQUdTOiAwMDAwMDI0Ngo+IDwzPlsgIDEwMS4zMTEwMjJdIEJV Rzogc2NoZWR1bGluZyB3aGlsZSBhdG9taWM6IHBlcmZfcG11LzE1MTMvMHgwMDAwMDAwNAo+IDw0 PlsgIDEwMS4zMTEwODJdIDMgbG9ja3MgaGVsZCBieSBwZXJmX3BtdS8xNTEzOgo+IDw0PlsgIDEw MS4zMTEwODhdICAjMDogICgmY3B1Y3R4X211dGV4KXsrLisufSwgYXQ6IFs8MDAwMDAwMDBjM2Vj MjcwOD5dIHBlcmZfZXZlbnRfY3R4X2xvY2tfbmVzdGVkKzB4YmMvMHgxZDAKPiA8ND5bICAxMDEu MzExMTI0XSAgIzE6ICAoJmV2ZW50LT5jaGlsZF9tdXRleCl7Ky4rLn0sIGF0OiBbPDAwMDAwMDAw NGNkMDJiYzk+XSBfX3BlcmZfZXZlbnRfcmVhZF92YWx1ZSsweDMyLzB4ZjAKPiA8ND5bICAxMDEu MzExMTUyXSAgIzI6ICAoJmNwdWN0eF9sb2NrKXsrLisufSwgYXQ6IFs8MDAwMDAwMDAyMzQzZDJk Yz5dIF9fcGVyZl9ldmVudF9yZWFkKzB4NjQvMHgyZTAKPiA8ND5bICAxMDEuMzExMTgwXSBNb2R1 bGVzIGxpbmtlZCBpbjogc25kX2hkYV9jb2RlY19oZG1pIHNuZF9oZGFfY29kZWNfcmVhbHRlayBz bmRfaGRhX2NvZGVjX2dlbmVyaWMgeDg2X3BrZ190ZW1wX3RoZXJtYWwgY29yZXRlbXAgY3JjdDEw ZGlmX3BjbG11bCBjcmMzMl9wY2xtdWwgZ2hhc2hfY2xtdWxuaV9pbnRlbCBpOTE1IGxwY19pY2gg cjgxNjkgbWlpIHNuZF9oZGFfaW50ZWwgc25kX2hkYV9jb2RlYyBzbmRfaHdkZXAgc25kX2hkYV9j b3JlIHNuZF9wY20gcGluY3RybF9icm94dG9uIHBpbmN0cmxfaW50ZWwgbWVpX21lIHByaW1lX251 bWJlcnMgbWVpCj4gPDM+WyAgMTAxLjMxMTMxNF0gUHJlZW1wdGlvbiBkaXNhYmxlZCBhdDoKPiA8 ND5bICAxMDEuMzExMzIxXSBbPDAwMDAwMDAwNTEyNWNlZjg+XSBwZXJmX2V2ZW50X3JlYWQrMHg5 OC8weDJlMAo+IDw0PlsgIDEwMS4zMTEzNjJdIENQVTogMCBQSUQ6IDE1MTMgQ29tbTogcGVyZl9w bXUgVGFpbnRlZDogRyAgICAgVSAgVyAgICAgICAgNC4xNS4wLUNJLUNJX0RSTV8zNzE3KyAjMQo+ IDw0PlsgIDEwMS4zMTEzNjhdIEhhcmR3YXJlIG5hbWU6ICAgICAgICAgICAgICAgICAgL05VQzZD QVlCLCBCSU9TIEFZQVBMQ0VMLjg2QS4wMDQwLjIwMTcuMDYxOS4xNzIyIDA2LzE5LzIwMTcKPiA8 ND5bICAxMDEuMzExMzc0XSBDYWxsIFRyYWNlOgo+IDw0PlsgIDEwMS4zMTEzODVdICBkdW1wX3N0 YWNrKzB4NWYvMHg4Ngo+IDw0PlsgIDEwMS4zMTEzOTRdICA/IHBlcmZfZXZlbnRfcmVhZCsweDk4 LzB4MmUwCj4gPDQ+WyAgMTAxLjMxMTQwMl0gIF9fc2NoZWR1bGVfYnVnKzB4N2EvMHhkMAo+IDw0 PlsgIDEwMS4zMTE0MTNdICBfX3NjaGVkdWxlKzB4ODRjLzB4YWYwCj4gPDQ+WyAgMTAxLjMxMTQy NF0gID8gbWFya19oZWxkX2xvY2tzKzB4NjQvMHg5MAo+IDw0PlsgIDEwMS4zMTE0MzJdICA/IF9y YXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDRjLzB4NjAKPiA8ND5bICAxMDEuMzExNDQ2XSAg c2NoZWR1bGUrMHgzNy8weDkwCj4gPDQ+WyAgMTAxLjMxMTQ1Nl0gIHNjaGVkdWxlX3RpbWVvdXQr MHgxZGEvMHg1MjAKPiA8ND5bICAxMDEuMzExNDcxXSAgPyBjb2xsZWN0X2V4cGlyZWRfdGltZXJz KzB4YTAvMHhhMAo+IDw0PlsgIDEwMS4zMTE0ODVdICA/IG1zbGVlcCsweDFkLzB4NDAKPiA8ND5b ICAxMDEuMzExNDk3XSAgPyBwY2lfcmVzdG9yZV9zdGFuZGFyZF9jb25maWcrMHg0MC8weDQwCj4g PDQ+WyAgMTAxLjMxMTUwNF0gIG1zbGVlcCsweDM0LzB4NDAKPiA8ND5bICAxMDEuMzExNTE0XSAg cGNpX3Jhd19zZXRfcG93ZXJfc3RhdGUrMHgxOGYvMHgyMjAKPiA8ND5bICAxMDEuMzExNTI2XSAg cGNpX3NldF9wb3dlcl9zdGF0ZSsweDk0LzB4MTEwCj4gPDQ+WyAgMTAxLjMxMTUzN10gIHBjaV9y ZXN0b3JlX3N0YW5kYXJkX2NvbmZpZysweDIyLzB4NDAKPiA8ND5bICAxMDEuMzExNTQ1XSAgcGNp X3BtX3J1bnRpbWVfcmVzdW1lKzB4M2QvMHg5MAo+IDw0PlsgIDEwMS4zMTE1NTZdICBfX3JwbV9j YWxsYmFjaysweGIxLzB4MWUwCj4gPDQ+WyAgMTAxLjMxMTU2Nl0gID8gcGNpX3Jlc3RvcmVfc3Rh bmRhcmRfY29uZmlnKzB4NDAvMHg0MAo+IDw0PlsgIDEwMS4zMTE1NzddICBycG1fY2FsbGJhY2sr MHgxYS8weDcwCj4gPDQ+WyAgMTAxLjMxMTU4Nl0gID8gcGNpX3Jlc3RvcmVfc3RhbmRhcmRfY29u ZmlnKzB4NDAvMHg0MAo+IDw0PlsgIDEwMS4zMTE1OTRdICBycG1fcmVzdW1lKzB4NGQ3LzB4Nzcw Cj4gPDQ+WyAgMTAxLjMxMTYxNV0gIF9fcG1fcnVudGltZV9yZXN1bWUrMHg0Mi8weDgwCj4gPDQ+ WyAgMTAxLjMxMTcwMF0gIGludGVsX3J1bnRpbWVfcG1fZ2V0KzB4MWMvMHhhMCBbaTkxNV0KPiA8 ND5bICAxMDEuMzExNzY5XSAgX19pOTE1X3BtdV9ldmVudF9yZWFkKzB4NTQvMHgxYzAgW2k5MTVd Cj4gPDQ+WyAgMTAxLjMxMTg0MF0gIGk5MTVfcG11X2V2ZW50X3JlYWQrMHgxZS8weDQwIFtpOTE1 XQo+IDw0PlsgIDEwMS4zMTE4NTJdICBfX3BlcmZfZXZlbnRfcmVhZCsweDJiOC8weDJlMAo+IDw0 PlsgIDEwMS4zMTE4NjRdICA/IF9fcGVyZl9ldmVudF9vdXRwdXRfc3RvcCsweGEwLzB4YTAKPiA8 ND5bICAxMDEuMzExODc0XSAgZ2VuZXJpY19leGVjX3NpbmdsZSsweDk2LzB4ZTAKPiA8ND5bICAx MDEuMzExODgzXSAgPyBfX3BlcmZfZXZlbnRfb3V0cHV0X3N0b3ArMHhhMC8weGEwCj4gPDQ+WyAg MTAxLjMxMTg5MV0gIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSsweDg4LzB4MTIwCj4gPDQ+WyAg MTAxLjMxMTkxMF0gID8gcGVyZl9ldmVudF9yZWFkKzB4ZWQvMHgyZTAKPiA8ND5bICAxMDEuMzEx OTE2XSAgPyBwcmVlbXB0X2NvdW50X2FkZCsweDQ0LzB4OTAKPiA8ND5bICAxMDEuMzExOTI0XSAg cGVyZl9ldmVudF9yZWFkKzB4ZWQvMHgyZTAKPiA8ND5bICAxMDEuMzExOTQwXSAgX19wZXJmX2V2 ZW50X3JlYWRfdmFsdWUrMHgzYy8weGYwCj4gPDQ+WyAgMTAxLjMxMTk1NF0gIHBlcmZfcmVhZCsw eDE1ZS8weDI5MAo+IDw0PlsgIDEwMS4zMTE5NjNdICA/IGxvY2tfYWNxdWlyZSsweGFmLzB4MjAw Cj4gPDQ+WyAgMTAxLjMxMTk3NV0gID8gZnJlZV9vYmplY3QrMHg2ZS8weDkwCj4gPDQ+WyAgMTAx LjMxMTk4OV0gIF9fdmZzX3JlYWQrMHgxZS8weDEyMAo+IDw0PlsgIDEwMS4zMTE5OTldICA/IF9y YXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDM5LzB4NjAKPiA8ND5bICAxMDEuMzEyMDA3XSAg PyBmcmVlX29iamVjdCsweDZlLzB4OTAKPiA8ND5bICAxMDEuMzEyMDE4XSAgPyBlbnRyeV9TWVND QUxMXzY0X2Zhc3RwYXRoKzB4NS8weDhmCj4gPDQ+WyAgMTAxLjMxMjAyOF0gIHZmc19yZWFkKzB4 OWUvMHgxNTAKPiA8ND5bICAxMDEuMzEyMDQwXSAgU3lTX3JlYWQrMHg0MC8weGEwCj4gPDQ+WyAg MTAxLjMxMjA1NF0gIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgyMi8weDhmCj4gPDQ+WyAg MTAxLjMxMjA2MF0gUklQOiAwMDMzOjB4N2YzNjFjNDI3NmQwCj4gPDQ+WyAgMTAxLjMxMjA2Nl0g UlNQOiAwMDJiOjAwMDA3ZmZjY2UzMDFlZTggRUZMQUdTOiAwMDAwMDI0Ngo+IAo+IEJ1Z3ppbGxh OiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ5NDMKPiBT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBD YzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiAtLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgfCAyOSArKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaCB8ICAxICsKPiAgIDIg ZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BtdS5jCj4gaW5kZXggZWNiMDE5OGJmYjdhLi45YzUwYjE3M2U5YTEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKPiBAQCAtNDIzLDE4ICs0MjMsMjMgQEAgc3RhdGlj IHU2NCBfX2k5MTVfcG11X2V2ZW50X3JlYWQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQo+ICAg CQkJdmFsID0gY291bnRfaW50ZXJydXB0cyhpOTE1KTsKPiAgIAkJCWJyZWFrOwo+ICAgCQljYXNl IEk5MTVfUE1VX1JDNl9SRVNJREVOQ1k6Cj4gLQkJCWludGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUp Owo+IC0JCQl2YWwgPSBpbnRlbF9yYzZfcmVzaWRlbmN5X25zKGk5MTUsCj4gLQkJCQkJCSAgICAg SVNfVkFMTEVZVklFVyhpOTE1KSA/Cj4gLQkJCQkJCSAgICAgVkxWX0dUX1JFTkRFUl9SQzYgOgo+ IC0JCQkJCQkgICAgIEdFTjZfR1RfR0ZYX1JDNik7Cj4gLQkJCWlmIChIQVNfUkM2cChpOTE1KSkK PiAtCQkJCXZhbCArPSBpbnRlbF9yYzZfcmVzaWRlbmN5X25zKGk5MTUsCj4gLQkJCQkJCQkgICAg ICBHRU42X0dUX0dGWF9SQzZwKTsKPiAtCQkJaWYgKEhBU19SQzZwcChpOTE1KSkKPiAtCQkJCXZh bCArPSBpbnRlbF9yYzZfcmVzaWRlbmN5X25zKGk5MTUsCj4gLQkJCQkJCQkgICAgICBHRU42X0dU X0dGWF9SQzZwcCk7Cj4gLQkJCWludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUpOwo+ICsJCQlpZiAo aW50ZWxfcnVudGltZV9wbV9nZXRfaWZfaW5fdXNlKGk5MTUpKSB7Cj4gKwkJCQl2YWwgPSBpbnRl bF9yYzZfcmVzaWRlbmN5X25zKGk5MTUsCj4gKwkJCQkJCUlTX1ZBTExFWVZJRVcoaTkxNSkgPwo+ ICsJCQkJCQlWTFZfR1RfUkVOREVSX1JDNiA6Cj4gKwkJCQkJCUdFTjZfR1RfR0ZYX1JDNik7Cj4g KwkJCQlpZiAoSEFTX1JDNnAoaTkxNSkpCj4gKwkJCQkJdmFsICs9IGludGVsX3JjNl9yZXNpZGVu Y3lfbnMoaTkxNSwKPiArCQkJCQkJCUdFTjZfR1RfR0ZYX1JDNnApOwo+ICsJCQkJaWYgKEhBU19S QzZwcChpOTE1KSkKPiArCQkJCQl2YWwgKz0gaW50ZWxfcmM2X3Jlc2lkZW5jeV9ucyhpOTE1LAo+ ICsJCQkJCQkJR0VONl9HVF9HRlhfUkM2cHApOwo+ICsJCQkJaW50ZWxfcnVudGltZV9wbV9wdXQo aTkxNSk7Cj4gKwo+ICsJCQkJaTkxNS0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX1JDNl0uY3Vy ID0gdmFsOwo+ICsJCQl9IGVsc2Ugewo+ICsJCQkJdmFsID0gaTkxNS0+cG11LnNhbXBsZVtfX0k5 MTVfU0FNUExFX1JDNl0uY3VyOwo+ICsJCQl9CgpEb3duc2lkZSBpcyB0aGF0IGlkbGUgc3lzdGVt LCB3aGVuIGF1dG8tc3VzcGVuZGVkLCB3aWxsIHNob3cgMCUgUkM2LiBCdXQgCkkgaGF2ZSBubyBh bHRlcm5hdGl2ZSBpZGVhcy4gOigKCj4gICAJCQlicmVhazsKPiAgIAkJfQo+ICAgCX0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcG11LmgKPiBpbmRleCA1YTJlMDEzYTU2YmIuLjI0OTk4M2VkM2YwOCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaAo+IEBAIC0yNyw2ICsyNyw3IEBACj4gICBlbnVtIHsK PiAgIAlfX0k5MTVfU0FNUExFX0ZSRVFfQUNUID0gMCwKPiAgIAlfX0k5MTVfU0FNUExFX0ZSRVFf UkVRLAo+ICsJX19JOTE1X1NBTVBMRV9SQzYsCj4gICAJX19JOTE1X05VTV9QTVVfU0FNUExFUlMK PiAgIH07Cj4gICAKPiAKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3Vs aW5AaW50ZWwuY29tPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK