From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 5/5] drm/i915: Hide unshrinkable context objects from the shrinker Date: Tue, 16 Jul 2019 13:49:31 +0100 Message-ID: <20190716124931.5870-5-chris@chris-wilson.co.uk> References: <20190716124931.5870-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7289C6E119 for ; Tue, 16 Jul 2019 12:51:17 +0000 (UTC) In-Reply-To: <20190716124931.5870-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhlIHNocmlua2VyIGNhbm5vdCB0b3VjaCBvYmplY3RzIHVzZWQgYnkgdGhlIGNvbnRleHRzIChs b2dpY2FsIHN0YXRlCmFuZCByaW5nKS4gQ3VycmVudGx5IHdlIG1hcmsgdGhvc2UgYXMgInBpbl9n bG9iYWwiIHRvIGxldCB0aGUgc2hyaW5rZXIKc2tpcCBvdmVyIHRoZW0sIGhvd2V2ZXIsIGlmIHdl IHJlbW92ZSB0aGVtIGZyb20gdGhlIHNocmlua2VyIGxpc3RzCmVudGlyZWx5LCB3ZSBkb24ndCBl dmVudCBoYXZlIHRvIGluY2x1ZGUgdGhlbSBpbiBvdXIgc2hyaW5rIGFjY291bnRpbmcuCgpCeSBr ZWVwaW5nIHRoZSB1bnNocmlua2FibGUgb2JqZWN0cyBpbiBvdXIgc2hyaW5rZXIgdHJhY2tpbmcs IHdlIHJlcG9ydAphIGxhcmdlIG51bWJlciBvZiBvYmplY3RzIGF2YWlsYWJsZSB0byBiZSBzaHJ1 bmssIGFuZCBsZWF2ZSB0aGUgc2hyaW5rZXIKZGVlcGx5IHVuc2F0aXNmaWVkIHdoZW4gd2UgZmFp bCB0byByZWNsYWltIHRob3NlLiBUaGUgc2hyaW5rZXIgd2lsbApwZXJzaXN0IGluIHRyeWluZyB0 byByZWNsYWltIHRoZSB1bmF2YWlsYWJsZSBvYmplY3RzLCBmb3JjaW5nIHRoZSBzeXN0ZW0KaW50 byBhIGxpdmVsb2NrIChub3QgZXZlbiBoaXR0aW5nIHRoZSBkcmVhZCBvb21raWxsZXIpLgoKU2ln bmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jICAgfCAxMSArKy0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggICB8ICA0ICsrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYyAgICB8IDEzICstLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYyB8IDU3ICsrKysrKysrKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMgICAgICB8 ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgICB8IDE3 ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgICAgfCAg MyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYyAgICAgICAgICAgICAgfCAxNSAr KysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmggICAgICAgICAgICAgIHwgIDQg KysKIDkgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCmluZGV4IGQ1MTk3YTJh MTA2Zi4uNGVhOTdmY2E5YzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X29iamVjdC5jCkBAIC02Myw2ICs2Myw4IEBAIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2luaXQoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlzcGluX2xvY2tfaW5pdCgmb2JqLT52bWEu bG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJm9iai0+dm1hLmxpc3QpOwogCisJSU5JVF9MSVNUX0hF QUQoJm9iai0+bW0ubGluayk7CisKIAlJTklUX0xJU1RfSEVBRCgmb2JqLT5sdXRfbGlzdCk7CiAJ SU5JVF9MSVNUX0hFQUQoJm9iai0+YmF0Y2hfcG9vbF9saW5rKTsKIApAQCAtMjczLDE0ICsyNzUs NyBAQCB2b2lkIGk5MTVfZ2VtX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2Vt X29iaikKIAkgKiBvciBlbHNlIHdlIG1heSBvb20gd2hpbHN0IHRoZXJlIGFyZSBwbGVudHkgb2Yg ZGVmZXJyZWQKIAkgKiBmcmVlZCBvYmplY3RzLgogCSAqLwotCWlmIChpOTE1X2dlbV9vYmplY3Rf aGFzX3BhZ2VzKG9iaikgJiYKLQkgICAgaTkxNV9nZW1fb2JqZWN0X2lzX3Nocmlua2FibGUob2Jq KSkgewotCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1 LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwotCQlsaXN0X2RlbF9pbml0KCZvYmotPm1tLmxpbmspOwot CQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwotCX0K KwlpOTE1X2dlbV9vYmplY3RfbWFrZV91bnNocmlua2FibGUob2JqKTsKIAogCS8qCiAJICogU2lu Y2Ugd2UgcmVxdWlyZSBibG9ja2luZyBvbiBzdHJ1Y3RfbXV0ZXggdG8gdW5iaW5kIHRoZSBmcmVl ZApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IDY3YWVh MDdlYTAxOS4uMzcxNGNmMjM0ZDY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX29iamVjdC5oCkBAIC0zOTQsNiArMzk0LDEwIEBAIGk5MTVfZ2VtX29iamVjdF9waW5fdG9f ZGlzcGxheV9wbGFuZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgICAg dW5zaWduZWQgaW50IGZsYWdzKTsKIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3VucGluX2Zyb21fZGlz cGxheV9wbGFuZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSk7CiAKK3ZvaWQgaTkxNV9nZW1fb2JqZWN0 X21ha2VfdW5zaHJpbmthYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwordm9p ZCBpOTE1X2dlbV9vYmplY3RfbWFrZV9zaHJpbmthYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopOwordm9pZCBpOTE1X2dlbV9vYmplY3RfbWFrZV9wdXJnZWFibGUoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBjcHVfd3JpdGVf bmVlZHNfY2xmbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCWlmIChv YmotPmNhY2hlX2RpcnR5KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMu YwppbmRleCBiMzZhZDI2OWY0ZWEuLjkyYWQzY2MyMjBlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKQEAgLTE1MywyNCArMTUzLDEzIEBAIHN0YXRpYyB2b2lk IF9faTkxNV9nZW1fb2JqZWN0X3Jlc2V0X3BhZ2VfaXRlcihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogc3RydWN0IHNnX3RhYmxlICoKIF9faTkxNV9nZW1fb2JqZWN0X3Vuc2V0X3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwogCXN0cnVjdCBzZ190YWJs ZSAqcGFnZXM7CiAKIAlwYWdlcyA9IGZldGNoX2FuZF96ZXJvKCZvYmotPm1tLnBhZ2VzKTsKIAlp ZiAoSVNfRVJSX09SX05VTEwocGFnZXMpKQogCQlyZXR1cm4gcGFnZXM7CiAKLQlpZiAoaTkxNV9n ZW1fb2JqZWN0X2lzX3Nocmlua2FibGUob2JqKSkgewotCQl1bnNpZ25lZCBsb25nIGZsYWdzOwot Ci0JCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwotCi0JCWxp c3RfZGVsKCZvYmotPm1tLmxpbmspOwotCQlpOTE1LT5tbS5zaHJpbmtfY291bnQtLTsKLQkJaTkx NS0+bW0uc2hyaW5rX21lbW9yeSAtPSBvYmotPmJhc2Uuc2l6ZTsKLQotCQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwotCX0KKwlpOTE1X2dlbV9vYmpl Y3RfbWFrZV91bnNocmlua2FibGUob2JqKTsKIAogCWlmIChvYmotPm1tLm1hcHBpbmcpIHsKIAkJ dm9pZCAqcHRyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X3Nocmlua2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIu YwppbmRleCAzZjRjNmJkY2MzYzMuLjE0YWJmZDc3MzY1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMKQEAgLTUzMCwzICs1MzAsNjAgQEAgdm9pZCBp OTE1X2dlbV9zaHJpbmtlcl90YWludHNfbXV0ZXgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsCiAJaWYgKHVubG9jaykKIAkJbXV0ZXhfcmVsZWFzZSgmaTkxNS0+ZHJtLnN0cnVjdF9tdXRl eC5kZXBfbWFwLCAwLCBfUkVUX0lQXyk7CiB9CisKK3ZvaWQgaTkxNV9nZW1fb2JqZWN0X21ha2Vf dW5zaHJpbmthYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJaWYgKCFs aXN0X2VtcHR5KCZvYmotPm1tLmxpbmspKSB7CisJCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKwor CQlzcGluX2xvY2tfaXJxc2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKKwkJR0VNX0JV R19PTihsaXN0X2VtcHR5KCZvYmotPm1tLmxpbmspKTsKKworCQlsaXN0X2RlbF9pbml0KCZvYmot Pm1tLmxpbmspOworCQlpOTE1LT5tbS5zaHJpbmtfY291bnQtLTsKKwkJaTkxNS0+bW0uc2hyaW5r X21lbW9yeSAtPSBvYmotPmJhc2Uuc2l6ZTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZp OTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOworCX0KK30KKwordm9pZCBpOTE1X2dlbV9vYmplY3Rf bWFrZV9zaHJpbmthYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJR0VN X0JVR19PTighaTkxNV9nZW1fb2JqZWN0X2hhc19wYWdlcyhvYmopKTsKKwlHRU1fQlVHX09OKCFs aXN0X2VtcHR5KCZvYmotPm1tLmxpbmspKTsKKworCWlmIChpOTE1X2dlbV9vYmplY3RfaXNfc2hy aW5rYWJsZShvYmopKSB7CisJCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkx NShvYmotPmJhc2UuZGV2KTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCQlzcGluX2xvY2tf aXJxc2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKKwkJR0VNX0JVR19PTigha3JlZl9y ZWFkKCZvYmotPmJhc2UucmVmY291bnQpKTsKKworCQlsaXN0X2FkZF90YWlsKCZvYmotPm1tLmxp bmssICZpOTE1LT5tbS5zaHJpbmtfbGlzdCk7CisJCWk5MTUtPm1tLnNocmlua19jb3VudCsrOwor CQlpOTE1LT5tbS5zaHJpbmtfbWVtb3J5ICs9IG9iai0+YmFzZS5zaXplOworCisJCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CisJfQorfQorCit2b2lk IGk5MTVfZ2VtX29iamVjdF9tYWtlX3B1cmdlYWJsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQoreworCUdFTV9CVUdfT04oIWk5MTVfZ2VtX29iamVjdF9oYXNfcGFnZXMob2JqKSk7 CisJR0VNX0JVR19PTighbGlzdF9lbXB0eSgmb2JqLT5tbS5saW5rKSk7CisKKwlpZiAoaTkxNV9n ZW1fb2JqZWN0X2lzX3Nocmlua2FibGUob2JqKSkgeworCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CisJCUdF TV9CVUdfT04oIWtyZWZfcmVhZCgmb2JqLT5iYXNlLnJlZmNvdW50KSk7CisKKwkJbGlzdF9hZGRf dGFpbCgmb2JqLT5tbS5saW5rLCAmaTkxNS0+bW0ucHVyZ2VfbGlzdCk7CisJCWk5MTUtPm1tLnNo cmlua19jb3VudCsrOworCQlpOTE1LT5tbS5zaHJpbmtfbWVtb3J5ICs9IG9iai0+YmFzZS5zaXpl OworCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7 CisJfQorfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4 dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dC5jCmluZGV4IDExMTBm YzhmNjU3YS4uZjAxMmVjODk4YWJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29u dGV4dC5jCkBAIC0xMTgsNyArMTE4LDcgQEAgc3RhdGljIGludCBfX2NvbnRleHRfcGluX3N0YXRl KHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCSAqIEFuZCBtYXJrIGl0IGFzIGEgZ2xvYmFsbHkgcGlu bmVkIG9iamVjdCB0byBsZXQgdGhlIHNocmlua2VyIGtub3cKIAkgKiBpdCBjYW5ub3QgcmVjbGFp bSB0aGUgb2JqZWN0IHVudGlsIHdlIHJlbGVhc2UgaXQuCiAJICovCi0Jdm1hLT5vYmotPnBpbl9n bG9iYWwrKzsKKwlpOTE1X3ZtYV9tYWtlX3Vuc2hyaW5rYWJsZSh2bWEpOwogCXZtYS0+b2JqLT5t bS5kaXJ0eSA9IHRydWU7CiAKIAlyZXR1cm4gMDsKQEAgLTEyNiw4ICsxMjYsOCBAQCBzdGF0aWMg aW50IF9fY29udGV4dF9waW5fc3RhdGUoc3RydWN0IGk5MTVfdm1hICp2bWEpCiAKIHN0YXRpYyB2 b2lkIF9fY29udGV4dF91bnBpbl9zdGF0ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIHsKLQl2bWEt Pm9iai0+cGluX2dsb2JhbC0tOwogCV9faTkxNV92bWFfdW5waW4odm1hKTsKKwlpOTE1X3ZtYV9t YWtlX3Nocmlua2FibGUodm1hKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbnRlbF9jb250ZXh0X3Jl dGlyZShzdHJ1Y3QgaTkxNV9hY3RpdmUgKmFjdGl2ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCAyMTNkZjE0NGJlMTUuLjdiYjBiOTcxYWFlYSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMTIzOCw3ICsx MjM4LDcgQEAgaW50IGludGVsX3JpbmdfcGluKHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQogCQln b3RvIGVycl9yaW5nOwogCX0KIAotCXZtYS0+b2JqLT5waW5fZ2xvYmFsKys7CisJaTkxNV92bWFf bWFrZV91bnNocmlua2FibGUodm1hKTsKIAogCUdFTV9CVUdfT04ocmluZy0+dmFkZHIpOwogCXJp bmctPnZhZGRyID0gYWRkcjsKQEAgLTEyNjcsNiArMTI2Nyw4IEBAIHZvaWQgaW50ZWxfcmluZ19y ZXNldChzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZywgdTMyIHRhaWwpCiAKIHZvaWQgaW50ZWxfcmlu Z191bnBpbihzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZykKIHsKKwlzdHJ1Y3QgaTkxNV92bWEgKnZt YSA9IHJpbmctPnZtYTsKKwogCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmcmluZy0+cGluX2Nv dW50KSkKIAkJcmV0dXJuOwogCkBAIC0xMjc1LDE4ICsxMjc3LDE3IEBAIHZvaWQgaW50ZWxfcmlu Z191bnBpbihzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZykKIAkvKiBEaXNjYXJkIGFueSB1bnVzZWQg Ynl0ZXMgYmV5b25kIHRoYXQgc3VibWl0dGVkIHRvIGh3LiAqLwogCWludGVsX3JpbmdfcmVzZXQo cmluZywgcmluZy0+dGFpbCk7CiAKLQlHRU1fQlVHX09OKCFyaW5nLT52bWEpOwotCWk5MTVfdm1h X3Vuc2V0X2dndHRfd3JpdGUocmluZy0+dm1hKTsKLQlpZiAoaTkxNV92bWFfaXNfbWFwX2FuZF9m ZW5jZWFibGUocmluZy0+dm1hKSkKLQkJaTkxNV92bWFfdW5waW5faW9tYXAocmluZy0+dm1hKTsK KwlpOTE1X3ZtYV91bnNldF9nZ3R0X3dyaXRlKHZtYSk7CisJaWYgKGk5MTVfdm1hX2lzX21hcF9h bmRfZmVuY2VhYmxlKHZtYSkpCisJCWk5MTVfdm1hX3VucGluX2lvbWFwKHZtYSk7CiAJZWxzZQot CQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKHJpbmctPnZtYS0+b2JqKTsKKwkJaTkxNV9nZW1f b2JqZWN0X3VucGluX21hcCh2bWEtPm9iaik7CiAKIAlHRU1fQlVHX09OKCFyaW5nLT52YWRkcik7 CiAJcmluZy0+dmFkZHIgPSBOVUxMOwogCi0JcmluZy0+dm1hLT5vYmotPnBpbl9nbG9iYWwtLTsK LQlpOTE1X3ZtYV91bnBpbihyaW5nLT52bWEpOworCWk5MTVfdm1hX3VucGluKHZtYSk7CisJaTkx NV92bWFfbWFrZV9wdXJnZWFibGUodm1hKTsKIAogCWludGVsX3RpbWVsaW5lX3VucGluKHJpbmct PnRpbWVsaW5lKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggNmI4NGQw NGE2YTI4Li5jNDNmMjcwMDg1ZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBA IC0zNjMsOCArMzYzLDkgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qg c2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUg PSBub2RlX3RvX2k5MTUobS0+cHJpdmF0ZSk7CiAJaW50IHJldDsKIAotCXNlcV9wcmludGYobSwg IiV1IHNocmlua2FibGUgb2JqZWN0cywgJWxsdSBieXRlc1xuIiwKKwlzZXFfcHJpbnRmKG0sICIl dSBzaHJpbmthYmxlIFsldSBmcmVlXSBvYmplY3RzLCAlbGx1IGJ5dGVzXG4iLAogCQkgICBpOTE1 LT5tbS5zaHJpbmtfY291bnQsCisJCSAgIGF0b21pY19yZWFkKCZpOTE1LT5tbS5mcmVlX2NvdW50 KSwKIAkJICAgaTkxNS0+bW0uc2hyaW5rX21lbW9yeSk7CiAKIAlzZXFfcHV0YyhtLCAnXG4nKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3ZtYS5jCmluZGV4IGVlNzNiYWYyOTQxNS4uMWQwMDNlYzlkYTE5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKQEAgLTEwMzAsNiArMTAzMCwyMSBAQCBpbnQgaTkxNV92 bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCXJldHVybiAwOwogfQogCit2b2lkIGk5 MTVfdm1hX21ha2VfdW5zaHJpbmthYmxlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQoreworCWk5MTVf Z2VtX29iamVjdF9tYWtlX3Vuc2hyaW5rYWJsZSh2bWEtPm9iaik7Cit9CisKK3ZvaWQgaTkxNV92 bWFfbWFrZV9zaHJpbmthYmxlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQoreworCWk5MTVfZ2VtX29i amVjdF9tYWtlX3Nocmlua2FibGUodm1hLT5vYmopOworfQorCit2b2lkIGk5MTVfdm1hX21ha2Vf cHVyZ2VhYmxlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQoreworCWk5MTVfZ2VtX29iamVjdF9tYWtl X3B1cmdlYWJsZSh2bWEtPm9iaik7Cit9CisKICNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkx NV9TRUxGVEVTVCkKICNpbmNsdWRlICJzZWxmdGVzdHMvaTkxNV92bWEuYyIKICNlbmRpZgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfdm1hLmgKaW5kZXggNGI3NjlkYjY0OWJmLi5hMjRiZDY3ODdlZjcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92bWEuaApAQCAtNDU5LDQgKzQ1OSw4IEBAIHZvaWQgaTkxNV92bWFfcGFy a2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKIHN0cnVjdCBpOTE1X3ZtYSAqaTkx NV92bWFfYWxsb2Modm9pZCk7CiB2b2lkIGk5MTVfdm1hX2ZyZWUoc3RydWN0IGk5MTVfdm1hICp2 bWEpOwogCit2b2lkIGk5MTVfdm1hX21ha2VfdW5zaHJpbmthYmxlKHN0cnVjdCBpOTE1X3ZtYSAq dm1hKTsKK3ZvaWQgaTkxNV92bWFfbWFrZV9zaHJpbmthYmxlKHN0cnVjdCBpOTE1X3ZtYSAqdm1h KTsKK3ZvaWQgaTkxNV92bWFfbWFrZV9wdXJnZWFibGUoc3RydWN0IGk5MTVfdm1hICp2bWEpOwor CiAjZW5kaWYKLS0gCjIuMjIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4