From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 2/2] drm/i915: Wire up shrinkctl->nr_scanned Date: Tue, 22 Aug 2017 15:45:50 -0700 Message-ID: <20170822154550.33c8cc61c21e5ccf72959dd1@linux-foundation.org> References: <20170815153010.e3cfc177af0b2c0dc421b84c@linux-foundation.org> <20170822135325.9191-1-chris@chris-wilson.co.uk> <20170822135325.9191-2-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4F3A06E421 for ; Tue, 22 Aug 2017 22:45:52 +0000 (UTC) In-Reply-To: <20170822135325.9191-2-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: Hillf Danton , Michal Hocko , Minchan Kim , intel-gfx@lists.freedesktop.org, linux-mm@kvack.org, Shaohua Li , Johannes Weiner , Mel Gorman , Vlastimil Babka List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMiBBdWcgMjAxNyAxNDo1MzoyNSArMDEwMCBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4gd3JvdGU6Cgo+IHNocmlua19zbGFiKCkgYWxsb3dzIHVzIHRvIHJl cG9ydCBiYWNrIHRoZSBudW1iZXIgb2Ygb2JqZWN0cyB3ZQo+IHN1Y2Nlc3NmdWxseSBzY2FubmVk IChvdXQgb2YgdGhlIHRhcmdldCBzaHJpbmtjdGwtPm5yX3RvX3NjYW4pLiBBcwo+IHJlcG9ydCB0 aGUgbnVtYmVyIG9mIHBhZ2VzIG93bmVkIGJ5IGVhY2ggR0VNIG9iamVjdCBhcyBhIHNlcGFyYXRl IGl0ZW0KPiB0byB0aGUgc2hyaW5rZXIsIHdlIGNhbm5vdCBwcmVjaXNlbHkgY29udHJvbCB0aGUg bnVtYmVyIG9mIHNocmlua2VyCj4gb2JqZWN0cyB3ZSBzY2FuIG9uIGVhY2ggcGFzczsgYW5kIGlu ZGVlZCBtYXkgZnJlZSBtb3JlIHRoYW4gcmVxdWVzdGVkLgo+IElmIHdlIGZhaWwgdG8gdGVsbCB0 aGUgc2hyaW5rZXIgYWJvdXQgdGhlIG51bWJlciBvZiBvYmplY3RzIHdlIHByb2Nlc3MsCj4gaXQg d2lsbCBjb250aW51ZSB0byBob2xkIGEgZ3J1ZGdlIGFnYWluc3QgdXMgYXMgYW55IG9iamVjdHMg bGVmdAo+IHVuc2Nhbm5lZCBhcmUgYWRkZWQgdG8gdGhlIG5leHQgcmVjbGFpbSAtLSBhbmQgc28g d2Ugd2lsbCBrZWVwIG9uCj4gInVuZmFpcmx5IiBzaHJpbmtpbmcgb3VyIG93biBzbGFiIGluIGNv bXBhcmlzb24gdG8gb3RoZXIgc2xhYnMuCgpJdCdzIHVuY2xlYXIgd2hpY2ggdHJlZSB0aGlzIGlz IGFnYWluc3QgYnV0IEkgdGhpbmsgSSBnb3QgaXQgYWxsIGZpeGVkCnVwLiAgUGxlYXNlIGNoZWNr IHRoZSBjaGFuZ2VzIHRvIGk5MTVfZ2VtX3NocmluaygpLgoKRnJvbTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+ClN1YmplY3Q6IGRybS9pOTE1OiB3aXJlIHVwIHNocmlu a2N0bC0+bnJfc2Nhbm5lZAoKc2hyaW5rX3NsYWIoKSBhbGxvd3MgdXMgdG8gcmVwb3J0IGJhY2sg dGhlIG51bWJlciBvZiBvYmplY3RzIHdlCnN1Y2Nlc3NmdWxseSBzY2FubmVkIChvdXQgb2YgdGhl IHRhcmdldCBzaHJpbmtjdGwtPm5yX3RvX3NjYW4pLiAgQXMgcmVwb3J0CnRoZSBudW1iZXIgb2Yg cGFnZXMgb3duZWQgYnkgZWFjaCBHRU0gb2JqZWN0IGFzIGEgc2VwYXJhdGUgaXRlbSB0byB0aGUK c2hyaW5rZXIsIHdlIGNhbm5vdCBwcmVjaXNlbHkgY29udHJvbCB0aGUgbnVtYmVyIG9mIHNocmlu a2VyIG9iamVjdHMgd2UKc2NhbiBvbiBlYWNoIHBhc3M7IGFuZCBpbmRlZWQgbWF5IGZyZWUgbW9y ZSB0aGFuIHJlcXVlc3RlZC4gIElmIHdlIGZhaWwgdG8KdGVsbCB0aGUgc2hyaW5rZXIgYWJvdXQg dGhlIG51bWJlciBvZiBvYmplY3RzIHdlIHByb2Nlc3MsIGl0IHdpbGwgY29udGludWUKdG8gaG9s ZCBhIGdydWRnZSBhZ2FpbnN0IHVzIGFzIGFueSBvYmplY3RzIGxlZnQgdW5zY2FubmVkIGFyZSBh ZGRlZCB0byB0aGUKbmV4dCByZWNsYWltIC0tIGFuZCBzbyB3ZSB3aWxsIGtlZXAgb24gInVuZmFp cmx5IiBzaHJpbmtpbmcgb3VyIG93biBzbGFiCmluIGNvbXBhcmlzb24gdG8gb3RoZXIgc2xhYnMu CgpMaW5rOiBodHRwOi8vbGttbC5rZXJuZWwub3JnL3IvMjAxNzA4MjIxMzUzMjUuOTE5MS0yLWNo cmlzQGNocmlzLXdpbHNvbi5jby51awpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVu QGxpbnV4LmludGVsLmNvbT4KQ2M6IE1pY2hhbCBIb2NrbyA8bWhvY2tvQHN1c2UuY29tPgpDYzog Sm9oYW5uZXMgV2VpbmVyIDxoYW5uZXNAY21weGNoZy5vcmc+CkNjOiBIaWxsZiBEYW50b24gPGhp bGxmLnpqQGFsaWJhYmEtaW5jLmNvbT4KQ2M6IE1pbmNoYW4gS2ltIDxtaW5jaGFuQGtlcm5lbC5v cmc+CkNjOiBWbGFzdGltaWwgQmFia2EgPHZiYWJrYUBzdXNlLmN6PgpDYzogTWVsIEdvcm1hbiA8 bWdvcm1hbkB0ZWNoc2luZ3VsYXJpdHkubmV0PgpDYzogU2hhb2h1YSBMaSA8c2hsaUBmYi5jb20+ CkNjOiBDaHJpc3RvcGggTGFtZXRlciA8Y2xAbGludXguY29tPgpDYzogRGF2aWQgUmllbnRqZXMg PHJpZW50amVzQGdvb2dsZS5jb20+CkNjOiBKb29uc29vIEtpbSA8aWFtam9vbnNvby5raW1AbGdl LmNvbT4KQ2M6IFBla2thIEVuYmVyZyA8cGVuYmVyZ0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5 OiBBbmRyZXcgTW9ydG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPgotLS0KCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgIHwgICAgNCArLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgfCAgICAxIAogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYyAgICAgICAgICB8ICAgIDQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYyAgICAgIHwgICAgMiAtCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9zaHJpbmtlci5jIHwgICAyNCArKysrKysrKysrKysrKystLS0tLS0KIDUgZmlsZXMgY2hhbmdl ZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC1wdU4gZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmN+ZHJtLWk5MTUtd2lyZS11cC1zaHJpbmtjdGwtbnJf c2Nhbm5lZCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuY35kcm0taTkxNS13aXJlLXVwLXNocmlua2N0bC1u cl9zY2FubmVkCisrKyBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC00 MzMzLDEwICs0MzMzLDEwIEBAIGk5MTVfZHJvcF9jYWNoZXNfc2V0KHZvaWQgKmRhdGEsIHU2NCB2 YWwKIAogCWxvY2tkZXBfc2V0X2N1cnJlbnRfcmVjbGFpbV9zdGF0ZShHRlBfS0VSTkVMKTsKIAlp ZiAodmFsICYgRFJPUF9CT1VORCkKLQkJaTkxNV9nZW1fc2hyaW5rKGRldl9wcml2LCBMT05HX01B WCwgSTkxNV9TSFJJTktfQk9VTkQpOworCQlpOTE1X2dlbV9zaHJpbmsoZGV2X3ByaXYsIExPTkdf TUFYLCBOVUxMLCBJOTE1X1NIUklOS19CT1VORCk7CiAKIAlpZiAodmFsICYgRFJPUF9VTkJPVU5E KQotCQlpOTE1X2dlbV9zaHJpbmsoZGV2X3ByaXYsIExPTkdfTUFYLCBJOTE1X1NIUklOS19VTkJP VU5EKTsKKwkJaTkxNV9nZW1fc2hyaW5rKGRldl9wcml2LCBMT05HX01BWCwgTlVMTCwgSTkxNV9T SFJJTktfVU5CT1VORCk7CiAKIAlpZiAodmFsICYgRFJPUF9TSFJJTktfQUxMKQogCQlpOTE1X2dl bV9zaHJpbmtfYWxsKGRldl9wcml2KTsKZGlmZiAtcHVOIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2Lmh+ZHJtLWk5MTUtd2lyZS11cC1zaHJpbmtjdGwtbnJfc2Nhbm5lZCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 Lmh+ZHJtLWk5MTUtd2lyZS11cC1zaHJpbmtjdGwtbnJfc2Nhbm5lZAorKysgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNjI4LDYgKzM2MjgsNyBAQCBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlX2ludGVybmFsKHN0cnVjdCBkCiAvKiBpOTE1X2dlbV9zaHJpbmtlci5jICovCiB1 bnNpZ25lZCBsb25nIGk5MTVfZ2VtX3NocmluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJCQkgICAgICB1bnNpZ25lZCBsb25nIHRhcmdldCwKKwkJCSAgICAgIHVuc2lnbmVk IGxvbmcgKm5yX3NjYW5uZWQsCiAJCQkgICAgICB1bnNpZ25lZCBmbGFncyk7CiAjZGVmaW5lIEk5 MTVfU0hSSU5LX1BVUkdFQUJMRSAweDEKICNkZWZpbmUgSTkxNV9TSFJJTktfVU5CT1VORCAweDIK ZGlmZiAtcHVOIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmN+ZHJtLWk5MTUtd2lyZS11 cC1zaHJpbmtjdGwtbnJfc2Nhbm5lZCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCi0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmN+ZHJtLWk5MTUtd2lyZS11cC1zaHJp bmtjdGwtbnJfc2Nhbm5lZAorKysgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBA IC0yNDA4LDcgKzI0MDgsNyBAQCByZWJ1aWxkX3N0OgogCQkJCWdvdG8gZXJyX3NnOwogCQkJfQog Ci0JCQlpOTE1X2dlbV9zaHJpbmsoZGV2X3ByaXYsIDIgKiBwYWdlX2NvdW50LCAqcysrKTsKKwkJ CWk5MTVfZ2VtX3NocmluayhkZXZfcHJpdiwgMiAqIHBhZ2VfY291bnQsIE5VTEwsICpzKyspOwog CQkJY29uZF9yZXNjaGVkKCk7CiAKIAkJCS8qIFdlJ3ZlIHRyaWVkIGhhcmQgdG8gYWxsb2NhdGUg dGhlIG1lbW9yeSBieSByZWFwaW5nCkBAIC01MDEyLDcgKzUwMTIsNyBAQCBpbnQgaTkxNV9nZW1f ZnJlZXplX2xhdGUoc3RydWN0IGRybV9pOTE1CiAJICogdGhlIG9iamVjdHMgYXMgd2VsbCwgc2Vl IGk5MTVfZ2VtX2ZyZWV6ZSgpCiAJICovCiAKLQlpOTE1X2dlbV9zaHJpbmsoZGV2X3ByaXYsIC0x VUwsIEk5MTVfU0hSSU5LX1VOQk9VTkQpOworCWk5MTVfZ2VtX3NocmluayhkZXZfcHJpdiwgLTFV TCwgTlVMTCwgSTkxNV9TSFJJTktfVU5CT1VORCk7CiAJaTkxNV9nZW1fZHJhaW5fZnJlZWRfb2Jq ZWN0cyhkZXZfcHJpdik7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRl eCk7CmRpZmYgLXB1TiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuY35kcm0taTkx NS13aXJlLXVwLXNocmlua2N0bC1ucl9zY2FubmVkIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jfmRybS1p OTE1LXdpcmUtdXAtc2hyaW5rY3RsLW5yX3NjYW5uZWQKKysrIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTIwNjEsNyArMjA2MSw3IEBAIGludCBpOTE1X2dlbV9ndHRf cHJlcGFyZV9wYWdlcyhzdHJ1Y3QgZHIKIAkJICovCiAJCUdFTV9CVUdfT04ob2JqLT5tbS5wYWdl cyA9PSBwYWdlcyk7CiAJfSB3aGlsZSAoaTkxNV9nZW1fc2hyaW5rKHRvX2k5MTUob2JqLT5iYXNl LmRldiksCi0JCQkJIG9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQsCisJCQkJIG9iai0+YmFz ZS5zaXplID4+IFBBR0VfU0hJRlQsIE5VTEwsCiAJCQkJIEk5MTVfU0hSSU5LX0JPVU5EIHwKIAkJ CQkgSTkxNV9TSFJJTktfVU5CT1VORCB8CiAJCQkJIEk5MTVfU0hSSU5LX0FDVElWRSkpOwpkaWZm IC1wdU4gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuY35kcm0taTkxNS13 aXJlLXVwLXNocmlua2N0bC1ucl9zY2FubmVkIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3Nocmlua2VyLmMKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIu Y35kcm0taTkxNS13aXJlLXVwLXNocmlua2N0bC1ucl9zY2FubmVkCisrKyBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMKQEAgLTEzNiw2ICsxMzYsNyBAQCBzdGF0aWMg Ym9vbCB1bnNhZmVfZHJvcF9wYWdlcyhzdHJ1Y3QgZHJtCiAgKiBpOTE1X2dlbV9zaHJpbmsgLSBT aHJpbmsgYnVmZmVyIG9iamVjdCBjYWNoZXMKICAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UKICAq IEB0YXJnZXQ6IGFtb3VudCBvZiBtZW1vcnkgdG8gbWFrZSBhdmFpbGFibGUsIGluIHBhZ2VzCisg KiBAbnJfc2Nhbm5lZDogb3B0aW9uYWwgb3V0cHV0IGZvciBudW1iZXIgb2YgcGFnZXMgc2Nhbm5l ZCAoaW5jcmVtZW50YWwpCiAgKiBAZmxhZ3M6IGNvbnRyb2wgZmxhZ3MgZm9yIHNlbGVjdGluZyBj YWNoZSB0eXBlcwogICoKICAqIFRoaXMgZnVuY3Rpb24gaXMgdGhlIG1haW4gaW50ZXJmYWNlIHRv IHRoZSBzaHJpbmtlci4gSXQgd2lsbCB0cnkgdG8gcmVsZWFzZQpAQCAtMTU4LDcgKzE1OSw5IEBA IHN0YXRpYyBib29sIHVuc2FmZV9kcm9wX3BhZ2VzKHN0cnVjdCBkcm0KICAqLwogdW5zaWduZWQg bG9uZwogaTkxNV9nZW1fc2hyaW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK LQkJdW5zaWduZWQgbG9uZyB0YXJnZXQsIHVuc2lnbmVkIGZsYWdzKQorCQl1bnNpZ25lZCBsb25n IHRhcmdldCwKKwkJdW5zaWduZWQgbG9uZyAqbnJfc2Nhbm5lZCwKKwkJdW5zaWduZWQgZmxhZ3Mp CiB7CiAJY29uc3Qgc3RydWN0IHsKIAkJc3RydWN0IGxpc3RfaGVhZCAqbGlzdDsKQEAgLTE2OSw2 ICsxNzIsNyBAQCBpOTE1X2dlbV9zaHJpbmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKIAkJeyBO VUxMLCAwIH0sCiAJfSwgKnBoYXNlOwogCXVuc2lnbmVkIGxvbmcgY291bnQgPSAwOworCXVuc2ln bmVkIGxvbmcgc2Nhbm5lZCA9IDA7CiAJYm9vbCB1bmxvY2s7CiAKIAlpZiAoIXNocmlua2VyX2xv Y2soZGV2X3ByaXYsICZ1bmxvY2spKQpAQCAtMjQ5LDYgKzI1Myw3IEBAIGk5MTVfZ2VtX3Nocmlu ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQogCQkJCQljb3VudCArPSBvYmotPmJhc2Uuc2l6ZSA+ PiBQQUdFX1NISUZUOwogCQkJCX0KIAkJCQltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7CisJ CQkJc2Nhbm5lZCArPSBvYmotPmJhc2Uuc2l6ZSA+PiBQQUdFX1NISUZUOwogCQkJfQogCQl9CiAJ CWxpc3Rfc3BsaWNlX3RhaWwoJnN0aWxsX2luX2xpc3QsIHBoYXNlLT5saXN0KTsKQEAgLTI2MSw2 ICsyNjYsOCBAQCBpOTE1X2dlbV9zaHJpbmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKIAogCXNo cmlua2VyX3VubG9jayhkZXZfcHJpdiwgdW5sb2NrKTsKIAorCWlmIChucl9zY2FubmVkKQorCQkq bnJfc2Nhbm5lZCArPSBzY2FubmVkOwogCXJldHVybiBjb3VudDsKIH0KIApAQCAtMjgzLDcgKzI5 MCw3IEBAIHVuc2lnbmVkIGxvbmcgaTkxNV9nZW1fc2hyaW5rX2FsbChzdHJ1Y3QKIAl1bnNpZ25l ZCBsb25nIGZyZWVkOwogCiAJaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwotCWZyZWVk ID0gaTkxNV9nZW1fc2hyaW5rKGRldl9wcml2LCAtMVVMLAorCWZyZWVkID0gaTkxNV9nZW1fc2hy aW5rKGRldl9wcml2LCAtMVVMLCBOVUxMLAogCQkJCUk5MTVfU0hSSU5LX0JPVU5EIHwKIAkJCQlJ OTE1X1NIUklOS19VTkJPVU5EIHwKIAkJCQlJOTE1X1NIUklOS19BQ1RJVkUpOwpAQCAtMzI5LDIz ICszMzYsMjggQEAgaTkxNV9nZW1fc2hyaW5rZXJfc2NhbihzdHJ1Y3Qgc2hyaW5rZXIgKgogCXVu c2lnbmVkIGxvbmcgZnJlZWQ7CiAJYm9vbCB1bmxvY2s7CiAKKwlzYy0+bnJfc2Nhbm5lZCA9IDA7 CisKIAlpZiAoIXNocmlua2VyX2xvY2soZGV2X3ByaXYsICZ1bmxvY2spKQogCQlyZXR1cm4gU0hS SU5LX1NUT1A7CiAKIAlmcmVlZCA9IGk5MTVfZ2VtX3NocmluayhkZXZfcHJpdiwKIAkJCQlzYy0+ bnJfdG9fc2NhbiwKKwkJCQkmc2MtPm5yX3NjYW5uZWQsCiAJCQkJSTkxNV9TSFJJTktfQk9VTkQg fAogCQkJCUk5MTVfU0hSSU5LX1VOQk9VTkQgfAogCQkJCUk5MTVfU0hSSU5LX1BVUkdFQUJMRSk7 CiAJaWYgKGZyZWVkIDwgc2MtPm5yX3RvX3NjYW4pCiAJCWZyZWVkICs9IGk5MTVfZ2VtX3Nocmlu ayhkZXZfcHJpdiwKLQkJCQkJIHNjLT5ucl90b19zY2FuIC0gZnJlZWQsCisJCQkJCSBzYy0+bnJf dG9fc2NhbiAtIHNjLT5ucl9zY2FubmVkLAorCQkJCQkgJnNjLT5ucl9zY2FubmVkLAogCQkJCQkg STkxNV9TSFJJTktfQk9VTkQgfAogCQkJCQkgSTkxNV9TSFJJTktfVU5CT1VORCk7CiAJaWYgKGZy ZWVkIDwgc2MtPm5yX3RvX3NjYW4gJiYgY3VycmVudF9pc19rc3dhcGQoKSkgewogCQlpbnRlbF9y dW50aW1lX3BtX2dldChkZXZfcHJpdik7CiAJCWZyZWVkICs9IGk5MTVfZ2VtX3NocmluayhkZXZf cHJpdiwKLQkJCQkJIHNjLT5ucl90b19zY2FuIC0gZnJlZWQsCisJCQkJCSBzYy0+bnJfdG9fc2Nh biAtIHNjLT5ucl9zY2FubmVkLAorCQkJCQkgJnNjLT5ucl9zY2FubmVkLAogCQkJCQkgSTkxNV9T SFJJTktfQUNUSVZFIHwKIAkJCQkJIEk5MTVfU0hSSU5LX0JPVU5EIHwKIAkJCQkJIEk5MTVfU0hS SU5LX1VOQk9VTkQpOwpAQCAtMzU0LDcgKzM2Niw3IEBAIGk5MTVfZ2VtX3Nocmlua2VyX3NjYW4o c3RydWN0IHNocmlua2VyICoKIAogCXNocmlua2VyX3VubG9jayhkZXZfcHJpdiwgdW5sb2NrKTsK IAotCXJldHVybiBmcmVlZDsKKwlyZXR1cm4gc2MtPm5yX3NjYW5uZWQgPyBmcmVlZCA6IFNIUklO S19TVE9QOwogfQogCiBzdGF0aWMgYm9vbApAQCAtNDUzLDcgKzQ2NSw3IEBAIGk5MTVfZ2VtX3No cmlua2VyX3ZtYXAoc3RydWN0IG5vdGlmaWVyX2IKIAkJZ290byBvdXQ7CiAKIAlpbnRlbF9ydW50 aW1lX3BtX2dldChkZXZfcHJpdik7Ci0JZnJlZWRfcGFnZXMgKz0gaTkxNV9nZW1fc2hyaW5rKGRl dl9wcml2LCAtMVVMLAorCWZyZWVkX3BhZ2VzICs9IGk5MTVfZ2VtX3NocmluayhkZXZfcHJpdiwg LTFVTCwgTlVMTCwKIAkJCQkgICAgICAgSTkxNV9TSFJJTktfQk9VTkQgfAogCQkJCSAgICAgICBJ OTE1X1NIUklOS19VTkJPVU5EIHwKIAkJCQkgICAgICAgSTkxNV9TSFJJTktfQUNUSVZFIHwKXwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==