From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH v4 30/38] drm: Compute tight evictions for drm_mm_scan Date: Wed, 28 Dec 2016 14:01:29 +0100 Message-ID: <20161228130129.GK347@dvetter-linux.ger.corp.intel.com> References: <20161222083641.2691-1-chris@chris-wilson.co.uk> <20161222083641.2691-31-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-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id B7A4E893D1 for ; Wed, 28 Dec 2016 13:01:34 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id u144so61867442wmu.0 for ; Wed, 28 Dec 2016 05:01:34 -0800 (PST) Content-Disposition: inline In-Reply-To: <20161222083641.2691-31-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBEZWMgMjIsIDIwMTYgYXQgMDg6MzY6MzNBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IENvbXB1dGUgdGhlIG1pbmltYWwgcmVxdWlyZWQgaG9sZSBkdXJpbmcgc2NhbiBhbmQg b25seSBldmljdCB0aG9zZSBub2Rlcwo+IHRoYXQgb3ZlcmxhcC4gVGhpcyBlbmFibGVzIHVzIHRv IHJlZHVjZSB0aGUgbnVtYmVyIG9mIG5vZGVzIHdlIG5lZWQgdG8KPiBldmljdCB0byB0aGUgYmFy ZSBtaW5pbXVtLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgo+IFJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0 aW5lbkBsaW51eC5pbnRlbC5jb20+CgpBZ2FpbiwgZm9yIG5leHQgdGltZSBhcm91bmQgcGxzIGNj OiBkcml2ZXIgbWFpbnRhaW5lcnMgdG9vLgotRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vZHJtX21tLmMgICAgICAgICAgICAgICAgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9tbXUuYyAgIHwgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYyAgIHwgIDMgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jIHwgMTAgKysrLS0tCj4gIGlu Y2x1ZGUvZHJtL2RybV9tbS5oICAgICAgICAgICAgICAgICAgICB8IDIyICsrKysrKy0tLS0tLQo+ ICA1IGZpbGVzIGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX21tLmMKPiBpbmRleCAxYjU2MTNiY2IzNWUuLjE4OWFiODRjNWE1OSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX21tLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21t LmMKPiBAQCAtNzE4LDEwICs3MTgsMTAgQEAgRVhQT1JUX1NZTUJPTChkcm1fbW1fcmVwbGFjZV9u b2RlKTsKPiAgICogQGNvbG9yOiBvcGFxdWUgdGFnIHZhbHVlIHRvIHVzZSBmb3IgdGhlIGFsbG9j YXRpb24KPiAgICogQHN0YXJ0OiBzdGFydCBvZiB0aGUgYWxsb3dlZCByYW5nZSBmb3IgdGhlIGFs bG9jYXRpb24KPiAgICogQGVuZDogZW5kIG9mIHRoZSBhbGxvd2VkIHJhbmdlIGZvciB0aGUgYWxs b2NhdGlvbgo+ICsgKiBAZmxhZ3M6IGZsYWdzIHRvIHNwZWNpZnkgaG93IHRoZSBhbGxvY2F0aW9u IHdpbGwgYmUgcGVyZm9ybWVkIGFmdGVyd2FyZHMKPiAgICoKPiAgICogVGhpcyBzaW1wbHkgc2V0 cyB1cCB0aGUgc2Nhbm5pbmcgcm91dGluZXMgd2l0aCB0aGUgcGFyYW1ldGVycyBmb3IgdGhlIGRl c2lyZWQKPiAtICogaG9sZS4gTm90ZSB0aGF0IHRoZXJlJ3Mgbm8gbmVlZCB0byBzcGVjaWZ5IGFs bG9jYXRpb24gZmxhZ3MsIHNpbmNlIHRoZXkgb25seQo+IC0gKiBjaGFuZ2UgdGhlIHBsYWNlIGEg bm9kZSBpcyBhbGxvY2F0ZWQgZnJvbSB3aXRoaW4gYSBzdWl0YWJsZSBob2xlLgo+ICsgKiBob2xl Lgo+ICAgKgo+ICAgKiBXYXJuaW5nOgo+ICAgKiBBcyBsb25nIGFzIHRoZSBzY2FuIGxpc3QgaXMg bm9uLWVtcHR5LCBubyBvdGhlciBvcGVyYXRpb25zIHRoYW4KPiBAQCAtNzMzLDcgKzczMyw4IEBA IHZvaWQgZHJtX21tX3NjYW5faW5pdF93aXRoX3JhbmdlKHN0cnVjdCBkcm1fbW1fc2NhbiAqc2Nh biwKPiAgCQkJCSB1NjQgYWxpZ25tZW50LAo+ICAJCQkJIHVuc2lnbmVkIGxvbmcgY29sb3IsCj4g IAkJCQkgdTY0IHN0YXJ0LAo+IC0JCQkJIHU2NCBlbmQpCj4gKwkJCQkgdTY0IGVuZCwKPiArCQkJ CSB1bnNpZ25lZCBpbnQgZmxhZ3MpCj4gIHsKPiAgCURSTV9NTV9CVUdfT04oc3RhcnQgPj0gZW5k KTsKPiAgCURSTV9NTV9CVUdfT04oIXNpemUgfHwgc2l6ZSA+IGVuZCAtIHN0YXJ0KTsKPiBAQCAt NzQ0LDYgKzc0NSw3IEBAIHZvaWQgZHJtX21tX3NjYW5faW5pdF93aXRoX3JhbmdlKHN0cnVjdCBk cm1fbW1fc2NhbiAqc2NhbiwKPiAgCXNjYW4tPmNvbG9yID0gY29sb3I7Cj4gIAlzY2FuLT5hbGln bm1lbnQgPSBhbGlnbm1lbnQ7Cj4gIAlzY2FuLT5zaXplID0gc2l6ZTsKPiArCXNjYW4tPmZsYWdz ID0gZmxhZ3M7Cj4gIAo+ICAJRFJNX01NX0JVR19PTihlbmQgPD0gc3RhcnQpOwo+ICAJc2Nhbi0+ cmFuZ2Vfc3RhcnQgPSBzdGFydDsKPiBAQCAtNzc4LDcgKzc4MCw3IEBAIGJvb2wgZHJtX21tX3Nj YW5fYWRkX2Jsb2NrKHN0cnVjdCBkcm1fbW1fc2NhbiAqc2NhbiwKPiAgCURSTV9NTV9CVUdfT04o bm9kZS0+bW0gIT0gbW0pOwo+ICAJRFJNX01NX0JVR19PTighbm9kZS0+YWxsb2NhdGVkKTsKPiAg CURSTV9NTV9CVUdfT04obm9kZS0+c2Nhbm5lZF9ibG9jayk7Cj4gLQlub2RlLT5zY2FubmVkX2Js b2NrID0gMTsKPiArCW5vZGUtPnNjYW5uZWRfYmxvY2sgPSB0cnVlOwo+ICAJbW0tPnNjYW5fYWN0 aXZlKys7Cj4gIAo+ICAJaG9sZSA9IGxpc3RfcHJldl9lbnRyeShub2RlLCBub2RlX2xpc3QpOwo+ IEBAIC04MDAsMTUgKzgwMiw1MyBAQCBib29sIGRybV9tbV9zY2FuX2FkZF9ibG9jayhzdHJ1Y3Qg ZHJtX21tX3NjYW4gKnNjYW4sCj4gIAo+ICAJYWRqX3N0YXJ0ID0gbWF4KGNvbF9zdGFydCwgc2Nh bi0+cmFuZ2Vfc3RhcnQpOwo+ICAJYWRqX2VuZCA9IG1pbihjb2xfZW5kLCBzY2FuLT5yYW5nZV9l bmQpOwo+ICsJaWYgKGFkal9lbmQgPD0gYWRqX3N0YXJ0IHx8IGFkal9lbmQgLSBhZGpfc3RhcnQg PCBzY2FuLT5zaXplKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlpZiAoc2Nhbi0+ZmxhZ3Mg PT0gRFJNX01NX0NSRUFURV9UT1ApCj4gKwkJYWRqX3N0YXJ0ID0gYWRqX2VuZCAtIHNjYW4tPnNp emU7Cj4gKwo+ICsJaWYgKHNjYW4tPmFsaWdubWVudCkgewo+ICsJCXU2NCByZW07Cj4gKwo+ICsJ CWRpdjY0X3U2NF9yZW0oYWRqX3N0YXJ0LCBzY2FuLT5hbGlnbm1lbnQsICZyZW0pOwo+ICsJCWlm IChyZW0pIHsKPiArCQkJYWRqX3N0YXJ0IC09IHJlbTsKPiArCQkJaWYgKHNjYW4tPmZsYWdzICE9 IERSTV9NTV9DUkVBVEVfVE9QKQo+ICsJCQkJYWRqX3N0YXJ0ICs9IHNjYW4tPmFsaWdubWVudDsK PiArCQkJaWYgKGFkal9zdGFydCA8IG1heChjb2xfc3RhcnQsIHNjYW4tPnJhbmdlX3N0YXJ0KSB8 fAo+ICsJCQkgICAgbWluKGNvbF9lbmQsIHNjYW4tPnJhbmdlX2VuZCkgLSBhZGpfc3RhcnQgPCBz Y2FuLT5zaXplKQo+ICsJCQkJcmV0dXJuIGZhbHNlOwo+ICsKPiArCQkJaWYgKGFkal9lbmQgPD0g YWRqX3N0YXJ0IHx8Cj4gKwkJCSAgICBhZGpfZW5kIC0gYWRqX3N0YXJ0IDwgc2Nhbi0+c2l6ZSkK PiArCQkJCXJldHVybiBmYWxzZTsKPiArCQl9Cj4gKwl9Cj4gIAo+IC0JaWYgKGNoZWNrX2ZyZWVf aG9sZShhZGpfc3RhcnQsIGFkal9lbmQsCj4gLQkJCSAgICBzY2FuLT5zaXplLCBzY2FuLT5hbGln bm1lbnQpKSB7Cj4gKwlpZiAobW0tPmNvbG9yX2FkanVzdCkgewo+ICsJCS8qIElmIGFsbG9jYXRp b25zIG5lZWQgYWRqdXN0aW5nIGR1ZSB0byBuZWlnaGJvdXJpbmcgY29sb3VycywKPiArCQkgKiB3 ZSBkbyBub3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24gdG8gZGVjaWRlIGlmIHdlIG5lZWQKPiAr CQkgKiB0byBldmljdCBub2RlcyBvbiBlaXRoZXIgc2lkZSBvZiBbYWRqX3N0YXJ0LCBhZGpfZW5k XS4KPiArCQkgKiBXaGF0IGFsbW9zdCB3b3JrcyBpcwo+ICsJCSAqIGhpdF9zdGFydCA9IGFkal9z dGFydCArIChob2xlX3N0YXJ0IC0gY29sX3N0YXJ0KTsKPiArCQkgKiBoaXRfZW5kID0gYWRqX3N0 YXJ0ICsgc2Nhbi0+c2l6ZSArIChob2xlX2VuZCAtIGNvbF9lbmQpOwo+ICsJCSAqIGJ1dCBiZWNh dXNlIHRoZSBkZWNpc2lvbiBpcyBvbmx5IG1hZGUgb24gdGhlIGZpbmFsIGhvbGUsCj4gKwkJICog d2UgbWF5IHVuZGVyZXN0aW1hdGUgdGhlIHJlcXVpcmVkIGFkanVzdG1lbnRzIGZvciBhbgo+ICsJ CSAqIGludGVyaW9yIGFsbG9jYXRpb24uCj4gKwkJICovCj4gIAkJc2Nhbi0+aGl0X3N0YXJ0ID0g aG9sZV9zdGFydDsKPiAgCQlzY2FuLT5oaXRfZW5kID0gaG9sZV9lbmQ7Cj4gLQkJcmV0dXJuIHRy dWU7Cj4gKwl9IGVsc2Ugewo+ICsJCXNjYW4tPmhpdF9zdGFydCA9IGFkal9zdGFydDsKPiArCQlz Y2FuLT5oaXRfZW5kID0gYWRqX3N0YXJ0ICsgc2Nhbi0+c2l6ZTsKPiAgCX0KPiAgCj4gLQlyZXR1 cm4gZmFsc2U7Cj4gKwlEUk1fTU1fQlVHX09OKHNjYW4tPmhpdF9zdGFydCA+PSBzY2FuLT5oaXRf ZW5kKTsKPiArCURSTV9NTV9CVUdfT04oc2Nhbi0+aGl0X3N0YXJ0IDwgaG9sZV9zdGFydCk7Cj4g KwlEUk1fTU1fQlVHX09OKHNjYW4tPmhpdF9lbmQgPiBob2xlX2VuZCk7Cj4gKwo+ICsJcmV0dXJu IHRydWU7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fbW1fc2Nhbl9hZGRfYmxvY2spOwo+ICAK PiBAQCAtODM2LDcgKzg3Niw3IEBAIGJvb2wgZHJtX21tX3NjYW5fcmVtb3ZlX2Jsb2NrKHN0cnVj dCBkcm1fbW1fc2NhbiAqc2NhbiwKPiAgCj4gIAlEUk1fTU1fQlVHX09OKG5vZGUtPm1tICE9IHNj YW4tPm1tKTsKPiAgCURSTV9NTV9CVUdfT04oIW5vZGUtPnNjYW5uZWRfYmxvY2spOwo+IC0Jbm9k ZS0+c2Nhbm5lZF9ibG9jayA9IDA7Cj4gKwlub2RlLT5zY2FubmVkX2Jsb2NrID0gZmFsc2U7Cj4g IAo+ICAJRFJNX01NX0JVR19PTighbm9kZS0+bW0tPnNjYW5fYWN0aXZlKTsKPiAgCW5vZGUtPm1t LT5zY2FuX2FjdGl2ZS0tOwo+IEBAIC04NDYsNyArODg2LDcgQEAgYm9vbCBkcm1fbW1fc2Nhbl9y ZW1vdmVfYmxvY2soc3RydWN0IGRybV9tbV9zY2FuICpzY2FuLAo+ICAJcHJldl9ub2RlLT5ob2xl X2ZvbGxvd3MgPSBub2RlLT5zY2FubmVkX3ByZWNlZWRzX2hvbGU7Cj4gIAlsaXN0X2FkZCgmbm9k ZS0+bm9kZV9saXN0LCAmcHJldl9ub2RlLT5ub2RlX2xpc3QpOwo+ICAKPiAtCXJldHVybiAoZHJt X21tX2hvbGVfbm9kZV9lbmQobm9kZSkgPiBzY2FuLT5oaXRfc3RhcnQgJiYKPiArCXJldHVybiAo bm9kZS0+c3RhcnQgKyBub2RlLT5zaXplID4gc2Nhbi0+aGl0X3N0YXJ0ICYmCj4gIAkJbm9kZS0+ c3RhcnQgPCBzY2FuLT5oaXRfZW5kKTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9tbV9zY2Fu X3JlbW92ZV9ibG9jayk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfbW11LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X21tdS5jCj4gaW5k ZXggZmUxZTg4NmRjYWJiLi4yZGFlMzE2OWNlNDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvZXRuYXZpdl9tbXUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfbW11LmMKPiBAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBpbnQgZXRuYXZpdl9p b21tdV9maW5kX2lvdmEoc3RydWN0IGV0bmF2aXZfaW9tbXUgKm1tdSwKPiAgCQl9Cj4gIAo+ICAJ CS8qIFRyeSB0byByZXRpcmUgc29tZSBlbnRyaWVzICovCj4gLQkJZHJtX21tX3NjYW5faW5pdCgm c2NhbiwgJm1tdS0+bW0sIHNpemUsIDAsIDApOwo+ICsJCWRybV9tbV9zY2FuX2luaXQoJnNjYW4s ICZtbXUtPm1tLCBzaXplLCAwLCAwLCAwKTsKPiAgCj4gIAkJZm91bmQgPSAwOwo+ICAJCUlOSVRf TElTVF9IRUFEKCZsaXN0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXZpY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBp bmRleCA3N2RlZDI4ODUzNGIuLjI3NDE0OThjZGYyYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXZpY3QuYwo+IEBAIC0xMjgsNyArMTI4LDggQEAgaTkxNV9nZW1fZXZpY3Rfc29t ZXRoaW5nKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAo+ICAJICovCj4gIAlkcm1fbW1f c2Nhbl9pbml0X3dpdGhfcmFuZ2UoJnNjYW4sICZ2bS0+bW0sCj4gIAkJCQkgICAgbWluX3NpemUs IGFsaWdubWVudCwgY2FjaGVfbGV2ZWwsCj4gLQkJCQkgICAgc3RhcnQsIGVuZCk7Cj4gKwkJCQkg ICAgc3RhcnQsIGVuZCwKPiArCQkJCSAgICBmbGFncyAmIFBJTl9ISUdIID8gRFJNX01NX0NSRUFU RV9UT1AgOiAwKTsKPiAgCj4gIAkvKiBSZXRpcmUgYmVmb3JlIHdlIHNlYXJjaCB0aGUgYWN0aXZl IGxpc3QuIEFsdGhvdWdoIHdlIGhhdmUKPiAgCSAqIHJlYXNvbmFibGUgYWNjdXJhY3kgaW4gb3Vy IHJldGlyZW1lbnQgbGlzdHMsIHdlIG1heSBoYXZlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMv dGVzdC1kcm1fbW0uYwo+IGluZGV4IDk5N2YyYmM5M2I5Yi4uMWJiZmMyNDM0MmM1IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYwo+IEBAIC0xMTk5LDcgKzExOTks NyBAQCBzdGF0aWMgYm9vbCBldmljdF9ub3RoaW5nKHN0cnVjdCBkcm1fbW0gKm1tLAo+ICAJc3Ry dWN0IGRybV9tbV9ub2RlICpub2RlOwo+ICAJdW5zaWduZWQgaW50IG47Cj4gIAo+IC0JZHJtX21t X3NjYW5faW5pdCgmc2NhbiwgbW0sIDEsIDAsIDApOwo+ICsJZHJtX21tX3NjYW5faW5pdCgmc2Nh biwgbW0sIDEsIDAsIDAsIDApOwo+ICAJZm9yIChuID0gMDsgbiA8IHRvdGFsX3NpemU7IG4rKykg ewo+ICAJCWUgPSAmbm9kZXNbbl07Cj4gIAkJbGlzdF9hZGQoJmUtPmxpbmssICZldmljdF9saXN0 KTsKPiBAQCAtMTI0Niw3ICsxMjQ2LDcgQEAgc3RhdGljIGJvb2wgZXZpY3RfZXZlcnl0aGluZyhz dHJ1Y3QgZHJtX21tICptbSwKPiAgCXVuc2lnbmVkIGludCBuOwo+ICAJaW50IGVycjsKPiAgCj4g LQlkcm1fbW1fc2Nhbl9pbml0KCZzY2FuLCBtbSwgdG90YWxfc2l6ZSwgMCwgMCk7Cj4gKwlkcm1f bW1fc2Nhbl9pbml0KCZzY2FuLCBtbSwgdG90YWxfc2l6ZSwgMCwgMCwgMCk7Cj4gIAlmb3IgKG4g PSAwOyBuIDwgdG90YWxfc2l6ZTsgbisrKSB7Cj4gIAkJZSA9ICZub2Rlc1tuXTsKPiAgCQlsaXN0 X2FkZCgmZS0+bGluaywgJmV2aWN0X2xpc3QpOwo+IEBAIC0xMjk2LDcgKzEyOTYsOCBAQCBzdGF0 aWMgaW50IGV2aWN0X3NvbWV0aGluZyhzdHJ1Y3QgZHJtX21tICptbSwKPiAgCj4gIAlkcm1fbW1f c2Nhbl9pbml0X3dpdGhfcmFuZ2UoJnNjYW4sIG1tLAo+ICAJCQkJICAgIHNpemUsIGFsaWdubWVu dCwgMCwKPiAtCQkJCSAgICByYW5nZV9zdGFydCwgcmFuZ2VfZW5kKTsKPiArCQkJCSAgICByYW5n ZV9zdGFydCwgcmFuZ2VfZW5kLAo+ICsJCQkJICAgIG1vZGUtPmNyZWF0ZV9mbGFncyk7Cj4gIAlp ZiAoIWV2aWN0X25vZGVzKCZzY2FuLAo+ICAJCQkgbm9kZXMsIG9yZGVyLCBjb3VudCwKPiAgCQkJ ICZldmljdF9saXN0KSkKPiBAQCAtMTg3NCw3ICsxODc1LDggQEAgc3RhdGljIGludCBldmljdF9j b2xvcihzdHJ1Y3QgZHJtX21tICptbSwKPiAgCj4gIAlkcm1fbW1fc2Nhbl9pbml0X3dpdGhfcmFu Z2UoJnNjYW4sIG1tLAo+ICAJCQkJICAgIHNpemUsIGFsaWdubWVudCwgY29sb3IsCj4gLQkJCQkg ICAgcmFuZ2Vfc3RhcnQsIHJhbmdlX2VuZCk7Cj4gKwkJCQkgICAgcmFuZ2Vfc3RhcnQsIHJhbmdl X2VuZCwKPiArCQkJCSAgICBtb2RlLT5jcmVhdGVfZmxhZ3MpOwo+ICAJaWYgKCFldmljdF9ub2Rl cygmc2NhbiwKPiAgCQkJIG5vZGVzLCBvcmRlciwgY291bnQsCj4gIAkJCSAmZXZpY3RfbGlzdCkp Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tbS5oIGIvaW5jbHVkZS9kcm0vZHJtX21t LmgKPiBpbmRleCBiYWUwZjEwZGE4ZTMuLjYwNjMzNmZjMjI5YSAxMDA2NDQKPiAtLS0gYS9pbmNs dWRlL2RybS9kcm1fbW0uaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tbS5oCj4gQEAgLTEyMCw2 ICsxMjAsNyBAQCBzdHJ1Y3QgZHJtX21tX3NjYW4gewo+ICAJc3RydWN0IGRybV9tbV9ub2RlICpw cmV2X3NjYW5uZWRfbm9kZTsKPiAgCj4gIAl1bnNpZ25lZCBsb25nIGNvbG9yOwo+ICsJdW5zaWdu ZWQgaW50IGZsYWdzOwo+ICB9Owo+ICAKPiAgLyoqCj4gQEAgLTM4OCwxMSArMzg5LDkgQEAgX19k cm1fbW1faW50ZXJ2YWxfZmlyc3QoY29uc3Qgc3RydWN0IGRybV9tbSAqbW0sIHU2NCBzdGFydCwg dTY0IGxhc3QpOwo+ICAKPiAgdm9pZCBkcm1fbW1fc2Nhbl9pbml0X3dpdGhfcmFuZ2Uoc3RydWN0 IGRybV9tbV9zY2FuICpzY2FuLAo+ICAJCQkJIHN0cnVjdCBkcm1fbW0gKm1tLAo+IC0JCQkJIHU2 NCBzaXplLAo+IC0JCQkJIHU2NCBhbGlnbm1lbnQsCj4gLQkJCQkgdW5zaWduZWQgbG9uZyBjb2xv ciwKPiAtCQkJCSB1NjQgc3RhcnQsCj4gLQkJCQkgdTY0IGVuZCk7Cj4gKwkJCQkgdTY0IHNpemUs IHU2NCBhbGlnbm1lbnQsIHVuc2lnbmVkIGxvbmcgY29sb3IsCj4gKwkJCQkgdTY0IHN0YXJ0LCB1 NjQgZW5kLAo+ICsJCQkJIHVuc2lnbmVkIGludCBmbGFncyk7Cj4gIAo+ICAvKioKPiAgICogZHJt X21tX3NjYW5faW5pdCAtIGluaXRpYWxpemUgbHJ1IHNjYW5uaW5nCj4gQEAgLTQwMSwxMCArNDAw LDEwIEBAIHZvaWQgZHJtX21tX3NjYW5faW5pdF93aXRoX3JhbmdlKHN0cnVjdCBkcm1fbW1fc2Nh biAqc2NhbiwKPiAgICogQHNpemU6IHNpemUgb2YgdGhlIGFsbG9jYXRpb24KPiAgICogQGFsaWdu bWVudDogYWxpZ25tZW50IG9mIHRoZSBhbGxvY2F0aW9uCj4gICAqIEBjb2xvcjogb3BhcXVlIHRh ZyB2YWx1ZSB0byB1c2UgZm9yIHRoZSBhbGxvY2F0aW9uCj4gKyAqIEBmbGFnczogZmxhZ3MgdG8g c3BlY2lmeSBob3cgdGhlIGFsbG9jYXRpb24gd2lsbCBiZSBwZXJmb3JtZWQgYWZ0ZXJ3YXJkcwo+ ICAgKgo+ICAgKiBUaGlzIHNpbXBseSBzZXRzIHVwIHRoZSBzY2FubmluZyByb3V0aW5lcyB3aXRo IHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZGVzaXJlZAo+IC0gKiBob2xlLiBOb3RlIHRoYXQgdGhl cmUncyBubyBuZWVkIHRvIHNwZWNpZnkgYWxsb2NhdGlvbiBmbGFncywgc2luY2UgdGhleSBvbmx5 Cj4gLSAqIGNoYW5nZSB0aGUgcGxhY2UgYSBub2RlIGlzIGFsbG9jYXRlZCBmcm9tIHdpdGhpbiBh IHN1aXRhYmxlIGhvbGUuCj4gKyAqIGhvbGUuCj4gICAqCj4gICAqIFdhcm5pbmc6Cj4gICAqIEFz IGxvbmcgYXMgdGhlIHNjYW4gbGlzdCBpcyBub24tZW1wdHksIG5vIG90aGVyIG9wZXJhdGlvbnMg dGhhbgo+IEBAIC00MTQsMTAgKzQxMywxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZHJtX21tX3Nj YW5faW5pdChzdHJ1Y3QgZHJtX21tX3NjYW4gKnNjYW4sCj4gIAkJCQkgICAgc3RydWN0IGRybV9t bSAqbW0sCj4gIAkJCQkgICAgdTY0IHNpemUsCj4gIAkJCQkgICAgdTY0IGFsaWdubWVudCwKPiAt CQkJCSAgICB1bnNpZ25lZCBsb25nIGNvbG9yKQo+ICsJCQkJICAgIHVuc2lnbmVkIGxvbmcgY29s b3IsCj4gKwkJCQkgICAgdW5zaWduZWQgaW50IGZsYWdzKQo+ICB7Cj4gLQlkcm1fbW1fc2Nhbl9p bml0X3dpdGhfcmFuZ2Uoc2NhbiwgbW0sIHNpemUsIGFsaWdubWVudCwgY29sb3IsCj4gLQkJCQkg ICAgMCwgVTY0X01BWCk7Cj4gKwlkcm1fbW1fc2Nhbl9pbml0X3dpdGhfcmFuZ2Uoc2NhbiwgbW0s Cj4gKwkJCQkgICAgc2l6ZSwgYWxpZ25tZW50LCBjb2xvciwKPiArCQkJCSAgICAwLCBVNjRfTUFY LAo+ICsJCQkJICAgIGZsYWdzKTsKPiAgfQo+ICAKPiAgYm9vbCBkcm1fbW1fc2Nhbl9hZGRfYmxv Y2soc3RydWN0IGRybV9tbV9zY2FuICpzY2FuLAo+IC0tIAo+IDIuMTEuMAo+IAo+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBW ZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=