From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 3/3] drm/i915: Group the irq breadcrumb variables into the same cacheline Date: Wed, 6 Jul 2016 10:18:32 +0100 Message-ID: <577CCCE8.1050201@linux.intel.com> References: <1467791159-23958-1-git-send-email-chris@chris-wilson.co.uk> <1467791159-23958-3-git-send-email-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 090B16E0F6 for ; Wed, 6 Jul 2016 09:18:34 +0000 (UTC) In-Reply-To: <1467791159-23958-3-git-send-email-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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA2LzA3LzE2IDA4OjQ1LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gQXMgd2UgaW5zcGVjdCBi b3RoIHRoZSB0YXNrbGV0ICh0byBjaGVjayBmb3IgYW4gYWN0aXZlIGJvdHRvbS1oYWxmKSBhbmQK PiBzZXQgdGhlIGlycS1wb3N0ZWQgZmxhZyBhdCB0aGUgc2FtZSB0aW1lIChib3RoIGluIHRoZSBp bnRlcnJ1cHQgaGFuZGxlcgo+IGFuZCB0aGVuIGluIHRoZSBib3R0b20taGFsdCksIGdyb3VwIHRo b3NlIHR3byB0b2dldGhlciBpbnRvIHRoZSBzYW1lCj4gY2FjaGVsaW5lLiAoTm90IGhhdmluZyB0 b3RhbCBjb250cm9sIG92ZXIgcGxhY2VtZW50IG9mIHRoZSBzdHJ1Y3QgbWVhbnMKPiB3ZSBjYW4n dCBndWFyYW50ZWUgdGhlIGNhY2hlbGluZSBib3VuZGFyeSwgd2UgbmVlZCB0byBhbGlnbiB0aGUg a21hbGxvYwo+IGFuZCB0aGVuIGVhY2ggc3RydWN0LCBidXQgdGhlIGdyb3VwaW5nIHNob3VsZCBo ZWxwLikKCkFueSBhY3R1YWwgZGlmZmVyZW5jZSBvciBqdXN0IHRpZHk/Cgo+IFNpZ25lZC1vZmYt Ynk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICB8ICA4ICsrKystLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwgIDYgKysrLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9icmVhZGNydW1icy5jIHwgMjggKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oICB8IDE4ICsrKysrKysrKystLS0tLS0tLQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCAz NyBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCj4gaW5kZXggYTU5ZTBjYWVkYTY0Li44ZjdhYWRiMTY0MTggMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC03OTMsOCArNzkzLDggQEAgc3RhdGljIHZv aWQgaTkxNV9yaW5nX3NlcW5vX2luZm8oc3RydWN0IHNlcV9maWxlICptLAo+Cj4gICAJc2VxX3By aW50ZihtLCAiQ3VycmVudCBzZXF1ZW5jZSAoJXMpOiAleFxuIiwKPiAgIAkJICAgZW5naW5lLT5u YW1lLCBpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKGVuZ2luZSkpOwo+IC0Jc2VxX3ByaW50ZihtLCAi Q3VycmVudCB1c2VyIGludGVycnVwdHMgKCVzKTogJXhcbiIsCj4gLQkJICAgZW5naW5lLT5uYW1l LCBSRUFEX09OQ0UoZW5naW5lLT51c2VyX2ludGVycnVwdHMpKTsKPiArCXNlcV9wcmludGYobSwg IkN1cnJlbnQgdXNlciBpbnRlcnJ1cHRzICglcyk6ICVseFxuIiwKPiArCQkgICBlbmdpbmUtPm5h bWUsIFJFQURfT05DRShlbmdpbmUtPmJyZWFkY3J1bWJzLmlycV9jb3VudCkpOwo+Cj4gICAJc3Bp bl9sb2NrKCZiLT5sb2NrKTsKPiAgIAlmb3IgKHJiID0gcmJfZmlyc3QoJmItPndhaXRlcnMpOyBy YjsgcmIgPSByYl9uZXh0KHJiKSkgewo+IEBAIC0xNDQyLDkgKzE0NDIsOSBAQCBzdGF0aWMgaW50 IGk5MTVfaGFuZ2NoZWNrX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4g ICAJCQkgICBlbmdpbmUtPmxhc3Rfc3VibWl0dGVkX3NlcW5vKTsKPiAgIAkJc2VxX3ByaW50Ziht LCAiXHR3YWl0ZXJzPyAlZFxuIiwKPiAgIAkJCSAgIGludGVsX2VuZ2luZV9oYXNfd2FpdGVyKGVu Z2luZSkpOwo+IC0JCXNlcV9wcmludGYobSwgIlx0dXNlciBpbnRlcnJ1cHRzID0gJXggW2N1cnJl bnQgJXhdXG4iLAo+ICsJCXNlcV9wcmludGYobSwgIlx0dXNlciBpbnRlcnJ1cHRzID0gJWx4IFtj dXJyZW50ICVseF1cbiIsCj4gICAJCQkgICBlbmdpbmUtPmhhbmdjaGVjay51c2VyX2ludGVycnVw dHMsCj4gLQkJCSAgIFJFQURfT05DRShlbmdpbmUtPnVzZXJfaW50ZXJydXB0cykpOwo+ICsJCQkg ICBSRUFEX09OQ0UoZW5naW5lLT5icmVhZGNydW1icy5pcnFfY291bnQpKTsKPiAgIAkJc2VxX3By aW50ZihtLCAiXHRBQ1RIRCA9IDB4JTA4bGx4IFtjdXJyZW50IDB4JTA4bGx4XVxuIiwKPiAgIAkJ CSAgIChsb25nIGxvbmcpZW5naW5lLT5oYW5nY2hlY2suYWN0aGQsCj4gICAJCQkgICAobG9uZyBs b25nKWFjdGhkW2lkXSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggMTFlOTc2OTQx MWU5Li4xMjIyOWYzZDI3YjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzk5 OCw4ICszOTk4LDggQEAgc3RhdGljIGlubGluZSBib29sIF9faTkxNV9yZXF1ZXN0X2lycV9jb21w bGV0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiAgIAkgKiBpcyB3b2tlbi4K PiAgIAkgKi8KPiAgIAlpZiAoZW5naW5lLT5pcnFfc2Vxbm9fYmFycmllciAmJgo+IC0JICAgIFJF QURfT05DRShlbmdpbmUtPmJyZWFkY3J1bWJzLnRhc2tsZXQpID09IGN1cnJlbnQgJiYKPiAtCSAg ICBjbXB4Y2hnX3JlbGF4ZWQoJmVuZ2luZS0+aXJxX3Bvc3RlZCwgMSwgMCkpIHsKPiArCSAgICBS RUFEX09OQ0UoZW5naW5lLT5icmVhZGNydW1icy5pcnFfdGFza2xldCkgPT0gY3VycmVudCAmJgo+ ICsJICAgIGNtcHhjaGdfcmVsYXhlZCgmZW5naW5lLT5icmVhZGNydW1icy5pcnFfcG9zdGVkLCAx LCAwKSkgewo+ICAgCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzazsKPgo+ICAgCQkvKiBUaGUgb3Jk ZXJpbmcgb2YgaXJxX3Bvc3RlZCB2ZXJzdXMgYXBwbHlpbmcgdGhlIGJhcnJpZXIKPiBAQCAtNDAy Myw3ICs0MDIzLDcgQEAgc3RhdGljIGlubGluZSBib29sIF9faTkxNV9yZXF1ZXN0X2lycV9jb21w bGV0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiAgIAkJICogaXJxX3Bvc3Rl ZCA9PSBmYWxzZSBidXQgd2UgYXJlIHN0aWxsIHJ1bm5pbmcpLgo+ICAgCQkgKi8KPiAgIAkJcmN1 X3JlYWRfbG9jaygpOwo+IC0JCXRzayA9IFJFQURfT05DRShlbmdpbmUtPmJyZWFkY3J1bWJzLnRh c2tsZXQpOwo+ICsJCXRzayA9IFJFQURfT05DRShlbmdpbmUtPmJyZWFkY3J1bWJzLmlycV90YXNr bGV0KTsKPiAgIAkJaWYgKHRzayAmJiB0c2sgIT0gY3VycmVudCkKPiAgIAkJCS8qIE5vdGUgdGhh dCBpZiB0aGUgYm90dG9tLWhhbGYgaXMgY2hhbmdlZCBhcyB3ZQo+ICAgCQkJICogYXJlIHNlbmRp bmcgdGhlIHdha2UtdXAsIHRoZSBuZXcgYm90dG9tLWhhbGYgd2lsbAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwo+IGluZGV4IGI3N2Q4MDhiNzFjZC4uMzU1YWU5ZTVmZjQ0IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCj4gQEAgLTk3NywxMCArOTc3LDEwIEBAIHN0YXRpYyB2b2lkIGlyb25s YWtlX3Jwc19jaGFuZ2VfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+Cj4gICBzdGF0aWMgdm9pZCBub3RpZnlfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCj4gICB7Cj4gLQlzbXBfc3RvcmVfbWIoZW5naW5lLT5pcnFfcG9zdGVkLCB0cnVl KTsKPiArCXNtcF9zdG9yZV9tYihlbmdpbmUtPmJyZWFkY3J1bWJzLmlycV9wb3N0ZWQsIHRydWUp Owo+ICAgCWlmIChpbnRlbF9lbmdpbmVfd2FrZXVwKGVuZ2luZSkpIHsKPiAgIAkJdHJhY2VfaTkx NV9nZW1fcmVxdWVzdF9ub3RpZnkoZW5naW5lKTsKPiAtCQllbmdpbmUtPnVzZXJfaW50ZXJydXB0 cysrOwo+ICsJCWVuZ2luZS0+YnJlYWRjcnVtYnMuaXJxX2NvdW50Kys7Cj4gICAJfQo+ICAgfQo+ Cj4gQEAgLTMwNTQsMTIgKzMwNTQsMTIgQEAgcmluZ19zdHVjayhzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUsIHU2NCBhY3RoZCkKPiAgIAlyZXR1cm4gSEFOR0NIRUNLX0hVTkc7Cj4gICB9 Cj4KPiAtc3RhdGljIHVuc2lnbmVkIGtpY2tfd2FpdGVycyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCj4gK3N0YXRpYyB1bnNpZ25lZCBsb25nIGtpY2tfd2FpdGVycyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPSBlbmdpbmUtPmk5MTU7Cj4gLQl1bnNpZ25lZCB1c2VyX2ludGVycnVwdHMgPSBSRUFE X09OQ0UoZW5naW5lLT51c2VyX2ludGVycnVwdHMpOwo+ICsJdW5zaWduZWQgbG9uZyBpcnFfY291 bnQgPSBSRUFEX09OQ0UoZW5naW5lLT5icmVhZGNydW1icy5pcnFfY291bnQpOwo+Cj4gLQlpZiAo ZW5naW5lLT5oYW5nY2hlY2sudXNlcl9pbnRlcnJ1cHRzID09IHVzZXJfaW50ZXJydXB0cyAmJgo+ ICsJaWYgKGVuZ2luZS0+aGFuZ2NoZWNrLnVzZXJfaW50ZXJydXB0cyA9PSBpcnFfY291bnQgJiYK PiAgIAkgICAgIXRlc3RfYW5kX3NldF9iaXQoZW5naW5lLT5pZCwgJmk5MTUtPmdwdV9lcnJvci5t aXNzZWRfaXJxX3JpbmdzKSkgewo+ICAgCQlpZiAoIXRlc3RfYml0KGVuZ2luZS0+aWQsICZpOTE1 LT5ncHVfZXJyb3IudGVzdF9pcnFfcmluZ3MpKQo+ICAgCQkJRFJNX0VSUk9SKCJIYW5nY2hlY2sg dGltZXIgZWxhcHNlZC4uLiAlcyBpZGxlXG4iLAo+IEBAIC0zMDY4LDcgKzMwNjgsNyBAQCBzdGF0 aWMgdW5zaWduZWQga2lja193YWl0ZXJzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK PiAgIAkJaW50ZWxfZW5naW5lX2VuYWJsZV9mYWtlX2lycShlbmdpbmUpOwo+ICAgCX0KPgo+IC0J cmV0dXJuIHVzZXJfaW50ZXJydXB0czsKPiArCXJldHVybiBpcnFfY291bnQ7Cj4gICB9Cj4gICAv Kgo+ICAgICogVGhpcyBpcyBjYWxsZWQgd2hlbiB0aGUgY2hpcCBoYXNuJ3QgcmVwb3J0ZWQgYmFj ayB3aXRoIGNvbXBsZXRlZAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9icmVhZGNydW1icy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMu Ywo+IGluZGV4IDZmY2JiNTJlNTBmYi4uZjJlZGQ5NTY3NzJhIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9icmVhZGNydW1icy5jCj4gQEAgLTQ5LDcgKzQ5LDcgQEAgc3RhdGljIHZv aWQgaXJxX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJICogd2Ug c3RpbGwgbmVlZCB0byBmb3JjZSB0aGUgYmFycmllciBiZWZvcmUgcmVhZGluZyB0aGUgc2Vxbm8s Cj4gICAJICoganVzdCBpbiBjYXNlLgo+ICAgCSAqLwo+IC0JZW5naW5lLT5pcnFfcG9zdGVkID0g dHJ1ZTsKPiArCWVuZ2luZS0+YnJlYWRjcnVtYnMuaXJxX3Bvc3RlZCA9IHRydWU7Cj4KPiAgIAlz cGluX2xvY2tfaXJxKCZlbmdpbmUtPmk5MTUtPmlycV9sb2NrKTsKPiAgIAllbmdpbmUtPmlycV9l bmFibGUoZW5naW5lKTsKPiBAQCAtNjIsNyArNjIsNyBAQCBzdGF0aWMgdm9pZCBpcnFfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJZW5naW5lLT5pcnFfZGlzYWJs ZShlbmdpbmUpOwo+ICAgCXNwaW5fdW5sb2NrX2lycSgmZW5naW5lLT5pOTE1LT5pcnFfbG9jayk7 Cj4KPiAtCWVuZ2luZS0+aXJxX3Bvc3RlZCA9IGZhbHNlOwo+ICsJZW5naW5lLT5icmVhZGNydW1i cy5pcnFfcG9zdGVkID0gZmFsc2U7Cj4gICB9Cj4KPiAgIHN0YXRpYyB2b2lkIF9faW50ZWxfYnJl YWRjcnVtYnNfZW5hYmxlX2lycShzdHJ1Y3QgaW50ZWxfYnJlYWRjcnVtYnMgKmIpCj4gQEAgLTE5 NSw3ICsxOTUsNyBAQCBzdGF0aWMgYm9vbCBfX2ludGVsX2VuZ2luZV9hZGRfd2FpdChzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gICAJfQo+ICAgCXJiX2xpbmtfbm9kZSgmd2FpdC0+ bm9kZSwgcGFyZW50LCBwKTsKPiAgIAlyYl9pbnNlcnRfY29sb3IoJndhaXQtPm5vZGUsICZiLT53 YWl0ZXJzKTsKPiAtCUdFTV9CVUdfT04oIWZpcnN0ICYmICFiLT50YXNrbGV0KTsKPiArCUdFTV9C VUdfT04oIWZpcnN0ICYmICFiLT5pcnFfdGFza2xldCk7Cj4KPiAgIAlpZiAoY29tcGxldGVkKSB7 Cj4gICAJCXN0cnVjdCByYl9ub2RlICpuZXh0ID0gcmJfbmV4dChjb21wbGV0ZWQpOwo+IEBAIC0y MDQsNyArMjA0LDcgQEAgc3RhdGljIGJvb2wgX19pbnRlbF9lbmdpbmVfYWRkX3dhaXQoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAgCQlpZiAobmV4dCAmJiBuZXh0ICE9ICZ3YWl0 LT5ub2RlKSB7Cj4gICAJCQlHRU1fQlVHX09OKGZpcnN0KTsKPiAgIAkJCWItPmZpcnN0X3dhaXQg PSB0b193YWl0KG5leHQpOwo+IC0JCQlzbXBfc3RvcmVfbWIoYi0+dGFza2xldCwgYi0+Zmlyc3Rf d2FpdC0+dHNrKTsKPiArCQkJc21wX3N0b3JlX21iKGItPmlycV90YXNrbGV0LCBiLT5maXJzdF93 YWl0LT50c2spOwo+ICAgCQkJLyogQXMgdGhlcmUgaXMgYSBkZWxheSBiZXR3ZWVuIHJlYWRpbmcg dGhlIGN1cnJlbnQKPiAgIAkJCSAqIHNlcW5vLCBwcm9jZXNzaW5nIHRoZSBjb21wbGV0ZWQgdGFz a3MgYW5kIHNlbGVjdGluZwo+ICAgCQkJICogdGhlIG5leHQgd2FpdGVyLCB3ZSBtYXkgaGF2ZSBt aXNzZWQgdGhlIGludGVycnVwdAo+IEBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGljIGJvb2wgX19p bnRlbF9lbmdpbmVfYWRkX3dhaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAg CQkJICogaW4gY2FzZSB0aGUgc2Vxbm8gcGFzc2VkLgo+ICAgCQkJICovCj4gICAJCQlfX2ludGVs X2JyZWFkY3J1bWJzX2VuYWJsZV9pcnEoYik7Cj4gLQkJCWlmIChSRUFEX09OQ0UoZW5naW5lLT5p cnFfcG9zdGVkKSkKPiArCQkJaWYgKFJFQURfT05DRShiLT5pcnFfcG9zdGVkKSkKPiAgIAkJCQl3 YWtlX3VwX3Byb2Nlc3ModG9fd2FpdChuZXh0KS0+dHNrKTsKPiAgIAkJfQo+Cj4gQEAgLTIzMCwx OCArMjMwLDE4IEBAIHN0YXRpYyBib29sIF9faW50ZWxfZW5naW5lX2FkZF93YWl0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgIAlpZiAoZmlyc3QpIHsKPiAgIAkJR0VNX0JVR19P TihyYl9maXJzdCgmYi0+d2FpdGVycykgIT0gJndhaXQtPm5vZGUpOwo+ICAgCQliLT5maXJzdF93 YWl0ID0gd2FpdDsKPiAtCQlzbXBfc3RvcmVfbWIoYi0+dGFza2xldCwgd2FpdC0+dHNrKTsKPiAr CQlzbXBfc3RvcmVfbWIoYi0+aXJxX3Rhc2tsZXQsIHdhaXQtPnRzayk7Cj4gICAJCS8qIEFmdGVy IGFzc2lnbmluZyBvdXJzZWx2ZXMgYXMgdGhlIG5ldyBib3R0b20taGFsZiwgd2UgbXVzdAo+ICAg CQkgKiBwZXJmb3JtIGEgY3Vyc29yeSBjaGVjayB0byBwcmV2ZW50IGEgbWlzc2VkIGludGVycnVw dC4KPiAgIAkJICogRWl0aGVyIHdlIG1pc3MgdGhlIGludGVycnVwdCB3aGlsc3QgcHJvZ3JhbW1p bmcgdGhlIGhhcmR3YXJlLAo+ICAgCQkgKiBvciBpZiB0aGVyZSB3YXMgYSBwcmV2aW91cyB3YWl0 ZXIgKGZvciBhIGxhdGVyIHNlcW5vKSB0aGV5Cj4gICAJCSAqIG1heSBiZSB3b2tlbiBpbnN0ZWFk IG9mIHVzIChkdWUgdG8gdGhlIGluaGVyZW50IHJhY2UKPiAtCQkgKiBpbiB0aGUgdW5sb2NrZWQg cmVhZCBvZiBiLT50YXNrbGV0IGluIHRoZSBpcnEgaGFuZGxlcikgYW5kCj4gLQkJICogc28gd2Ug bWlzcyB0aGUgd2FrZSB1cC4KPiArCQkgKiBpbiB0aGUgdW5sb2NrZWQgcmVhZCBvZiBiLT5pcnFf dGFza2xldCBpbiB0aGUgaXJxIGhhbmRsZXIpCj4gKwkJICogYW5kIHNvIHdlIG1pc3MgdGhlIHdh a2UgdXAuCj4gICAJCSAqLwo+ICAgCQlfX2ludGVsX2JyZWFkY3J1bWJzX2VuYWJsZV9pcnEoYik7 Cj4gICAJfQo+IC0JR0VNX0JVR19PTighYi0+dGFza2xldCk7Cj4gKwlHRU1fQlVHX09OKCFiLT5p cnFfdGFza2xldCk7Cj4gICAJR0VNX0JVR19PTighYi0+Zmlyc3Rfd2FpdCk7Cj4gICAJR0VNX0JV R19PTihyYl9maXJzdCgmYi0+d2FpdGVycykgIT0gJmItPmZpcnN0X3dhaXQtPm5vZGUpOwo+Cj4g QEAgLTMwMSw3ICszMDEsNyBAQCB2b2lkIGludGVsX2VuZ2luZV9yZW1vdmVfd2FpdChzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gICAJCWNvbnN0IGludCBwcmlvcml0eSA9IHdha2V1 cF9wcmlvcml0eShiLCB3YWl0LT50c2spOwo+ICAgCQlzdHJ1Y3QgcmJfbm9kZSAqbmV4dDsKPgo+ IC0JCUdFTV9CVUdfT04oYi0+dGFza2xldCAhPSB3YWl0LT50c2spOwo+ICsJCUdFTV9CVUdfT04o Yi0+aXJxX3Rhc2tsZXQgIT0gd2FpdC0+dHNrKTsKPgo+ICAgCQkvKiBXZSBhcmUgdGhlIGN1cnJl bnQgYm90dG9tLWhhbGYuIEZpbmQgdGhlIG5leHQgY2FuZGlkYXRlLAo+ICAgCQkgKiB0aGUgZmly c3Qgd2FpdGVyIGluIHRoZSBxdWV1ZSBvbiB0aGUgcmVtYWluaW5nIG9sZGVzdAo+IEBAIC0zNDQs MTMgKzM0NCwxMyBAQCB2b2lkIGludGVsX2VuZ2luZV9yZW1vdmVfd2FpdChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUsCj4gICAJCQkgKiBleGNlcHRpb24gcmF0aGVyIHRoYW4gYSBzZXFu byBjb21wbGV0aW9uLgo+ICAgCQkJICovCj4gICAJCQliLT5maXJzdF93YWl0ID0gdG9fd2FpdChu ZXh0KTsKPiAtCQkJc21wX3N0b3JlX21iKGItPnRhc2tsZXQsIGItPmZpcnN0X3dhaXQtPnRzayk7 Cj4gKwkJCXNtcF9zdG9yZV9tYihiLT5pcnFfdGFza2xldCwgYi0+Zmlyc3Rfd2FpdC0+dHNrKTsK PiAgIAkJCWlmIChiLT5maXJzdF93YWl0LT5zZXFubyAhPSB3YWl0LT5zZXFubykKPiAgIAkJCQlf X2ludGVsX2JyZWFkY3J1bWJzX2VuYWJsZV9pcnEoYik7Cj4gLQkJCXdha2VfdXBfcHJvY2Vzcyhi LT50YXNrbGV0KTsKPiArCQkJd2FrZV91cF9wcm9jZXNzKGItPmlycV90YXNrbGV0KTsKPiAgIAkJ fSBlbHNlIHsKPiAgIAkJCWItPmZpcnN0X3dhaXQgPSBOVUxMOwo+IC0JCQlXUklURV9PTkNFKGIt PnRhc2tsZXQsIE5VTEwpOwo+ICsJCQlXUklURV9PTkNFKGItPmlycV90YXNrbGV0LCBOVUxMKTsK PiAgIAkJCV9faW50ZWxfYnJlYWRjcnVtYnNfZGlzYWJsZV9pcnEoYik7Cj4gICAJCX0KPiAgIAl9 IGVsc2Ugewo+IEBAIC0zNjQsNyArMzY0LDcgQEAgb3V0X3VubG9jazoKPiAgIAlHRU1fQlVHX09O KGItPmZpcnN0X3dhaXQgPT0gd2FpdCk7Cj4gICAJR0VNX0JVR19PTihyYl9maXJzdCgmYi0+d2Fp dGVycykgIT0KPiAgIAkJICAgKGItPmZpcnN0X3dhaXQgPyAmYi0+Zmlyc3Rfd2FpdC0+bm9kZSA6 IE5VTEwpKTsKPiAtCUdFTV9CVUdfT04oIWItPnRhc2tsZXQgXiBSQl9FTVBUWV9ST09UKCZiLT53 YWl0ZXJzKSk7Cj4gKwlHRU1fQlVHX09OKCFiLT5pcnFfdGFza2xldCBeIFJCX0VNUFRZX1JPT1Qo JmItPndhaXRlcnMpKTsKPiAgIAlzcGluX3VubG9jaygmYi0+bG9jayk7Cj4gICB9Cj4KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggMTIxMjk0YzYwMmMzLi5j YWRmOWYzZTY3ZDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o Cj4gQEAgLTc0LDggKzc0LDggQEAgZW51bSBpbnRlbF9yaW5nX2hhbmdjaGVja19hY3Rpb24gewo+ Cj4gICBzdHJ1Y3QgaW50ZWxfcmluZ19oYW5nY2hlY2sgewo+ICAgCXU2NCBhY3RoZDsKPiArCXVu c2lnbmVkIGxvbmcgdXNlcl9pbnRlcnJ1cHRzOwo+ICAgCXUzMiBzZXFubzsKPiAtCXVuc2lnbmVk IHVzZXJfaW50ZXJydXB0czsKPiAgIAlpbnQgc2NvcmU7Cj4gICAJZW51bSBpbnRlbF9yaW5nX2hh bmdjaGVja19hY3Rpb24gYWN0aW9uOwo+ICAgCWludCBkZWFkbG9jazsKPiBAQCAtMTY3LDE2ICsx NjcsMjAgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7Cj4gICAJICogdGhlIG92ZXJoZWFkIG9m IHdha2luZyB0aGF0IGNsaWVudCBpcyBtdWNoIHByZWZlcnJlZC4KPiAgIAkgKi8KPiAgIAlzdHJ1 Y3QgaW50ZWxfYnJlYWRjcnVtYnMgewo+ICsJCXN0cnVjdCB0YXNrX3N0cnVjdCAqaXJxX3Rhc2ts ZXQ7IC8qIGJoIGZvciB1c2VyIGludGVycnVwdHMgKi8KClRhc2tsZXQgd2FzIGtpbmQgb2YgcGFz c2FibGUsIGlycV90YXNrbGV0IGlzIGltaG8gd29yc2UuIEkgdGhpbmsgYW55b25lIAp3aG8gc2Vl IHRoYXQgbmFtZSB3b3VsZCB0aGluZyB0aGlzIGhhbmRsZXMgaW50ZXJydXB0cyBvZiBzb21lIHNv cnQuIDopCgpIb3cgYWJvdXQgZmlyc3Rfd2FpdF90YXNrID8KCkkga25vdyBpdCBtYXkgZmVlbCBs aWtlIHBvaW50bGVzcyBiaWtlLXNoZWRkaW5nIGFuZCBtYXliZSBpdCBpcyBzbyBJIGFtIApsZWF2 aW5nIGl0IHdpdGggeW91LgoKPiArCQl1bnNpZ25lZCBsb25nIGlycV9jb3VudDsKPiArCQlib29s IGlycV9wb3N0ZWQ7Cj4gKwo+ICAgCQlzcGlubG9ja190IGxvY2s7IC8qIHByb3RlY3RzIHRoZSBs aXN0cyBvZiByZXF1ZXN0cyAqLwo+ICAgCQlzdHJ1Y3QgcmJfcm9vdCB3YWl0ZXJzOyAvKiBzb3J0 ZWQgYnkgcmV0aXJlbWVudCwgcHJpb3JpdHkgKi8KPiAgIAkJc3RydWN0IHJiX3Jvb3Qgc2lnbmFs czsgLyogc29ydGVkIGJ5IHJldGlyZW1lbnQgKi8KPiAgIAkJc3RydWN0IGludGVsX3dhaXQgKmZp cnN0X3dhaXQ7IC8qIG9sZGVzdCB3YWl0ZXIgYnkgcmV0aXJlbWVudCAqLwo+IC0JCXN0cnVjdCB0 YXNrX3N0cnVjdCAqdGFza2xldDsgLyogYmggZm9yIHVzZXIgaW50ZXJydXB0cyAqLwo+ICAgCQlz dHJ1Y3QgdGFza19zdHJ1Y3QgKnNpZ25hbGVyOyAvKiB1c2VkIGZvciBmZW5jZSBzaWduYWxsaW5n ICovCj4gICAJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqZmlyc3Rfc2lnbmFsOwo+ICAg CQlzdHJ1Y3QgdGltZXJfbGlzdCBmYWtlX2lycTsgLyogdXNlZCBhZnRlciBhIG1pc3NlZCBpbnRl cnJ1cHQgKi8KPiAtCQlib29sIGlycV9lbmFibGVkOwo+IC0JCWJvb2wgcnBtX3dha2Vsb2NrOwo+ ICsKPiArCQlib29sIGlycV9lbmFibGVkIDogMTsKPiArCQlib29sIHJwbV93YWtlbG9jayA6IDE7 CgpJcyB0aGVyZSBtdWNoIHBvaW50IGluIGhhdmluZyBiaXRmaWVsZHM/IFRvIG1lIHR3byBwbGFp biBib29scyB3b3VsZCBiZSAKanVzdCBmaW5lIGFuZCBzbWFsbGVyIGNvZGUuCgo+ICAgCX0gYnJl YWRjcnVtYnM7Cj4KPiAgIAkvKgo+IEBAIC0xODksNyArMTkzLDYgQEAgc3RydWN0IGludGVsX2Vu Z2luZV9jcyB7Cj4gICAJc3RydWN0IGludGVsX2h3X3N0YXR1c19wYWdlIHN0YXR1c19wYWdlOwo+ ICAgCXN0cnVjdCBpOTE1X2N0eF93b3JrYXJvdW5kcyB3YV9jdHg7Cj4KPiAtCWJvb2wJCWlycV9w b3N0ZWQ7Cj4gICAJdTMyICAgICAgICAgICAgIGlycV9rZWVwX21hc2s7IC8qIGFsd2F5cyBrZWVw IHRoZXNlIGludGVycnVwdHMgKi8KPiAgIAl1MzIJCWlycV9lbmFibGVfbWFzazsgLyogYml0bWFz ayB0byBlbmFibGUgcmluZyBpbnRlcnJ1cHQgKi8KPiAgIAl2b2lkCQkoKmlycV9lbmFibGUpKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwo+IEBAIC0zMTksNyArMzIyLDYgQEAgc3RydWN0 IGludGVsX2VuZ2luZV9jcyB7Cj4gICAJICogaW5zcGVjdGluZyByZXF1ZXN0IGxpc3QuCj4gICAJ ICovCj4gICAJdTMyIGxhc3Rfc3VibWl0dGVkX3NlcW5vOwo+IC0JdW5zaWduZWQgdXNlcl9pbnRl cnJ1cHRzOwo+Cj4gICAJYm9vbCBncHVfY2FjaGVzX2RpcnR5Owo+Cj4gQEAgLTU0MywxMyArNTQ1 LDEzIEBAIHZvaWQgaW50ZWxfZW5naW5lX2VuYWJsZV9zaWduYWxpbmcoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KTsKPgo+ICAgc3RhdGljIGlubGluZSBib29sIGludGVsX2Vu Z2luZV9oYXNfd2FpdGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIHsKPiAt CXJldHVybiBSRUFEX09OQ0UoZW5naW5lLT5icmVhZGNydW1icy50YXNrbGV0KTsKPiArCXJldHVy biBSRUFEX09OQ0UoZW5naW5lLT5icmVhZGNydW1icy5pcnFfdGFza2xldCk7Cj4gICB9Cj4KPiAg IHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9lbmdpbmVfd2FrZXVwKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKPiAgIHsKPiAgIAlib29sIHdha2V1cCA9IGZhbHNlOwo+IC0Jc3RydWN0 IHRhc2tfc3RydWN0ICp0c2sgPSBSRUFEX09OQ0UoZW5naW5lLT5icmVhZGNydW1icy50YXNrbGV0 KTsKPiArCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gUkVBRF9PTkNFKGVuZ2luZS0+YnJlYWRj cnVtYnMuaXJxX3Rhc2tsZXQpOwo+ICAgCS8qIE5vdGUgdGhhdCBmb3IgdGhpcyBub3QgdG8gZGFu Z2Vyb3VzbHkgY2hhc2UgYSBkYW5nbGluZyBwb2ludGVyLAo+ICAgCSAqIHRoZSBjYWxsZXIgaXMg cmVzcG9uc2libGUgZm9yIGVuc3VyZSB0aGF0IHRoZSB0YXNrIHJlbWFpbiB2YWxpZCBmb3IKPiAg IAkgKiB3YWtlX3VwX3Byb2Nlc3MoKSBpLmUuIHRoYXQgdGhlIFJDVSBncmFjZSBwZXJpb2QgY2Fu bm90IGV4cGlyZS4KPgoKRWl0aGVyIHdheSwKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK