From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EFB80C18E5B for ; Mon, 16 Mar 2020 19:28:34 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CA19A20753 for ; Mon, 16 Mar 2020 19:28:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CA19A20753 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6554B89FCA; Mon, 16 Mar 2020 19:28:34 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 534B089FCA for ; Mon, 16 Mar 2020 19:28:33 +0000 (UTC) IronPort-SDR: /Alo2AsoJZ9imd6L8+SRsv/k/HEbPQEkM5uFoqED0gs4fGIHH29LbMmEeV2f0F/lACljauYf8E +VT9V/lOdbTQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2020 12:28:32 -0700 IronPort-SDR: c09XWM9xifUnN5QE0zhKX1605zaBP7eXVEcj2zwToxOWYdF8bmWWQlNLUgzcD5vD7b8nJ2cl0f n1CkK8NODX3A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,561,1574150400"; d="scan'208";a="238057593" Received: from unknown (HELO adixit-arch.intel.com) ([10.134.76.164]) by orsmga008.jf.intel.com with ESMTP; 16 Mar 2020 12:28:32 -0700 Date: Mon, 16 Mar 2020 12:23:23 -0700 Message-ID: <87k13km7dg.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Umesh Nerlige Ramappa In-Reply-To: <20200312230502.36898-2-umesh.nerlige.ramappa@intel.com> References: <20200312230502.36898-1-umesh.nerlige.ramappa@intel.com> <20200312230502.36898-2-umesh.nerlige.ramappa@intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.8 EasyPG/1.0.0 Emacs/26 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Subject: Re: [Intel-gfx] [PATCH 1/4] drm/i915/perf: rework aging tail workaround X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVGh1LCAxMiBNYXIgMjAyMCAxNjowNDo1OSAtMDcwMCwgVW1lc2ggTmVybGlnZSBSYW1hcHBh IHdyb3RlOgo+Cj4gRnJvbTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5A aW50ZWwuY29tPgo+Cj4gV2UncmUgYWJvdXQgdG8gaW50cm9kdWNlIGFuIG9wdGlvbnMgdG8gb3Bl biB0aGUgcGVyZiBzdHJlYW0sIGdpdmluZwo+IHRoZSB1c2VyIGFiaWxpdHkgdG8gY29uZmlndXJl IGhvdyBvZnRlbiBpdCB3YW50cyB0aGUga2VybmVsIHRvIHBvbGwKPiB0aGUgT0EgcmVnaXN0ZXJz IGZvciBhdmFpbGFibGUgZGF0YS4KPgo+IFJpZ2h0IG5vdyB0aGUgd29ya2Fyb3VuZCBhZ2FpbnN0 IHRoZSBPQSB0YWlsIHBvaW50ZXIgcmFjZSBjb25kaXRpb24KPiByZXF1aXJlcyBhdCBsZWFzdCB0 d2ljZSB0aGUgaW50ZXJuYWwga2VybmVsIHBvbGxpbmcgdGltZXIgdG8gbWFrZSBhbnkKPiBkYXRh IGF2YWlsYWJsZS4KPgo+IFRoaXMgY2hhbmdlcyBpbnRyb2R1Y2UgY2hlY2tzIG9uIHRoZSBPQSBk YXRhIHdyaXR0ZW4gaW50byB0aGUgY2lyY3VsYXIKPiBidWZmZXIgdG8gbWFrZSBhcyBtdWNoIGRh dGEgYXMgcG9zc2libGUgYXZhaWxhYmxlIG9uIHRoZSBmaXJzdAo+IGl0ZXJhdGlvbiBvZiB0aGUg cG9sbGluZyB0aW1lci4KCkV4Y2VsbGVudCwgdGhpcyBhYnNvbHV0ZWx5IG5lZWRzIHRvIGJlIGRv bmUsIEkgd2FzIHRoaW5raW5nIGl0IG1heSBiZQpwb3NzaWJsZSBldmVuIHdpdGggdGhlIGFwcHJv YWNoIHRha2VuIGluIHRoZSBvcmlnaW5hbCBjb2RlIGJ1dCB0aGUgYXBwcm9hY2gKaGVyZSBsb29r cyBiZXR0ZXIuIEl0IGlzIGFsc28gYSBuaWNlIGNsZWFudXAuCgo+IEBAIC01MDcsNjQgKzQ4Nyw3 NiBAQCBzdGF0aWMgYm9vbCBvYV9idWZmZXJfY2hlY2tfdW5sb2NrZWQoc3RydWN0IGk5MTVfcGVy Zl9zdHJlYW0gKnN0cmVhbSkKPgo+CW5vdyA9IGt0aW1lX2dldF9tb25vX2Zhc3RfbnMoKTsKPgo+ IC0JLyogVXBkYXRlIHRoZSBhZ2VkIHRhaWwKPiAtCSAqCj4gLQkgKiBGbGlwIHRoZSB0YWlsIHBv aW50ZXIgYXZhaWxhYmxlIGZvciByZWFkKClzIG9uY2UgdGhlIGFnaW5nIHRhaWwgaXMKPiAtCSAq IG9sZCBlbm91Z2ggdG8gdHJ1c3QgdGhhdCB0aGUgY29ycmVzcG9uZGluZyBkYXRhIHdpbGwgYmUg dmlzaWJsZSB0bwo+IC0JICogdGhlIENQVS4uLgo+IC0JICoKPiAtCSAqIERvIHRoaXMgYmVmb3Jl IHVwZGF0aW5nIHRoZSBhZ2luZyBwb2ludGVyIGluIGNhc2Ugd2UgbWF5IGJlIGFibGUgdG8KPiAt CSAqIGltbWVkaWF0ZWx5IHN0YXJ0IGFnaW5nIGEgbmV3IHBvaW50ZXIgdG9vIChpZiBuZXcgZGF0 YSBoYXMgYmVjb21lCj4gLQkgKiBhdmFpbGFibGUpIHdpdGhvdXQgbmVlZGluZyB0byB3YWl0IGZv ciBhIGxhdGVyIGhydGltZXIgY2FsbGJhY2suCj4gLQkgKi8KPiAtCWlmIChhZ2luZ190YWlsICE9 IElOVkFMSURfVEFJTF9QVFIgJiYKPiAtCSAgICAoKG5vdyAtIHN0cmVhbS0+b2FfYnVmZmVyLmFn aW5nX3RpbWVzdGFtcCkgPgo+IC0JICAgICBPQV9UQUlMX01BUkdJTl9OU0VDKSkgewo+IC0KPiAt CQlhZ2VkX2lkeCBePSAxOwo+IC0JCXN0cmVhbS0+b2FfYnVmZmVyLmFnZWRfdGFpbF9pZHggPSBh Z2VkX2lkeDsKPiArCWlmIChod190YWlsID09IHN0cmVhbS0+b2FfYnVmZmVyLmFnaW5nX3RhaWwp IHsKPiArCQkvKiBJZiB0aGUgSFcgdGFpbCBoYXNuJ3QgbW92ZSBzaW5jZSB0aGUgbGFzdCBjaGVj ayBhbmQgdGhlIEhXCj4gKwkJICogdGFpbCBoYXMgYmVlbiBhZ2luZyBmb3IgbG9uZyBlbm91Z2gs IGRlY2xhcmUgaXQgdGhlIG5ldwo+ICsJCSAqIHRhaWwuCj4gKwkJICovCgpJcyB0aGlzIHJlYWxs eSBuZWVkZWQ/IFRydWUgd2Ugd2lsbCBuZXZlciByZXR1cm4gdGhlIGxhc3QgcmVwb3J0IGJ1dCBt YXliZQppdCdzIG9rLCBzYXZlIHNvbWUgY29kZT8KCj4gKwkJaWYgKChub3cgLSBzdHJlYW0tPm9h X2J1ZmZlci5hZ2luZ190aW1lc3RhbXApID4KCkRvIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZSAnYWdp bmdfdGltZXN0YW1wID0ga3RpbWVfZ2V0X21vbm9fZmFzdF9ucygpJyB3aGVuCnRoZSBzdHJlYW0g aXMgZW5hYmxlZD8KCj4gKwkJICAgIE9BX1RBSUxfTUFSR0lOX05TRUMpIHsKPiArCQkJc3RyZWFt LT5vYV9idWZmZXIudGFpbCA9Cj4gKwkJCQlzdHJlYW0tPm9hX2J1ZmZlci5hZ2luZ190YWlsOwo+ ICsJCX0KPiArCX0gZWxzZSB7Cj4gKwkJdTMyIGhlYWQsIHRhaWwsIGxhbmRlZF9yZXBvcnRfaGVh ZHM7Cj4KPiAtCQlhZ2VkX3RhaWwgPSBhZ2luZ190YWlsOwo+ICsJCS8qIE5COiBUaGUgaGVhZCB3 ZSBvYnNlcnZlIGhlcmUgbWlnaHQgZWZmZWN0aXZlbHkgYmUgYSBsaXR0bGUgb3V0IG9mCj4gKwkJ ICogZGF0ZSAoYmV0d2VlbiBoZWFkIGFuZCB0YWlsc1thZ2VkX2lkeF0ub2Zmc2V0IGlmIHRoZXJl IGlzIGN1cnJlbnRseQo+ICsJCSAqIGEgcmVhZCgpIGluIHByb2dyZXNzLgo+ICsJCSAqLwoKSXMg dGhpcyBjb21tZW50IGNvcnJlY3Q/IEFyZW4ndCB3ZSBhcmUgdGFraW5nIHRoZSBzYW1lIGxvY2sg d2hlbiB1cGRhdGluZwpoZWFkIGFmdGVyIHRoZSByZWFkPwoKPiArCQloZWFkID0gc3RyZWFtLT5v YV9idWZmZXIuaGVhZCAtIGd0dF9vZmZzZXQ7Cj4KPiAtCQkvKiBNYXJrIHRoYXQgd2UgbmVlZCBh IG5ldyBwb2ludGVyIHRvIHN0YXJ0IGFnaW5nLi4uICovCj4gLQkJc3RyZWFtLT5vYV9idWZmZXIu dGFpbHNbIWFnZWRfaWR4XS5vZmZzZXQgPSBJTlZBTElEX1RBSUxfUFRSOwo+IC0JCWFnaW5nX3Rh aWwgPSBJTlZBTElEX1RBSUxfUFRSOwo+IC0JfQo+ICsJCWh3X3RhaWwgLT0gZ3R0X29mZnNldDsK Pgo+IC0JLyogVXBkYXRlIHRoZSBhZ2luZyB0YWlsCj4gLQkgKgo+IC0JICogV2UgdGhyb3R0bGUg YWdpbmcgdGFpbCB1cGRhdGVzIHVudGlsIHdlIGhhdmUgYSBuZXcgdGFpbCB0aGF0Cj4gLQkgKiBy ZXByZXNlbnRzID49IG9uZSByZXBvcnQgbW9yZSBkYXRhIHRoYW4gaXMgYWxyZWFkeSBhdmFpbGFi bGUgZm9yCj4gLQkgKiByZWFkaW5nLiBUaGlzIGVuc3VyZXMgdGhlcmUgd2lsbCBiZSBlbm91Z2gg ZGF0YSBmb3IgYSBzdWNjZXNzZnVsCj4gLQkgKiByZWFkIG9uY2UgdGhpcyBuZXcgcG9pbnRlciBo YXMgYWdlZCBhbmQgZW5zdXJlcyB3ZSB3aWxsIGdpdmUgdGhlIG5ldwo+IC0JICogcG9pbnRlciB0 aW1lIHRvIGFnZS4KPiAtCSAqLwo+IC0JaWYgKGFnaW5nX3RhaWwgPT0gSU5WQUxJRF9UQUlMX1BU UiAmJgo+IC0JICAgIChhZ2VkX3RhaWwgPT0gSU5WQUxJRF9UQUlMX1BUUiB8fAo+IC0JICAgICBP QV9UQUtFTihod190YWlsLCBhZ2VkX3RhaWwpID49IHJlcG9ydF9zaXplKSkgewo+IC0JCXN0cnVj dCBpOTE1X3ZtYSAqdm1hID0gc3RyZWFtLT5vYV9idWZmZXIudm1hOwo+IC0JCXUzMiBndHRfb2Zm c2V0ID0gaTkxNV9nZ3R0X29mZnNldCh2bWEpOwo+IC0KPiAtCQkvKiBCZSBwYXJhbm9pZCBhbmQg ZG8gYSBib3VuZHMgY2hlY2sgb24gdGhlIHBvaW50ZXIgcmVhZCBiYWNrCj4gLQkJICogZnJvbSBo YXJkd2FyZSwganVzdCBpbiBjYXNlIHNvbWUgc3B1cmlvdXMgaGFyZHdhcmUgY29uZGl0aW9uCj4g LQkJICogY291bGQgcHV0IHRoZSB0YWlsIG91dCBvZiBib3VuZHMuLi4KPiArCQkvKiBXYWxrIHRo ZSBzdHJlYW0gYmFja3dhcmQgdW50aWwgd2UgZmluZCBhdCBsZWFzdCAyIHJlcG9ydHMKPiArCQkg KiB3aXRoIGR3b3JkIDAgJiAxIG5vdCBhdCAwLiBTaW5jZSB0aGUgY2lyY3VsYXIgYnVmZmVyCj4g KwkJICogcG9pbnRlcnMgcHJvZ3Jlc3MgYnkgaW5jcmVtZW50cyBvZiA2NCBieXRlcyBhbmQgdGhh dAo+ICsJCSAqIHJlcG9ydHMgY2FuIGJlIHVwIHRvIDI1NiBieXRlcyBsb25nLCB3ZSBjYW4ndCB0 ZWxsIHdoZXRoZXIKPiArCQkgKiBhIHJlcG9ydCBoYXMgZnVsbHkgbGFuZGVkIGluIG1lbW9yeSBi ZWZvcmUgdGhlIGZpcnN0IDIKPiArCQkgKiBkd29yZHMgb2YgdGhlIGZvbGxvd2luZyByZXBvcnQg aGF2ZSBlZmZlY3RpdmVseSBsYW5kZWQuCj4gKwkJICoKPiArCQkgKiBUaGlzIGlzIGFzc3VtaW5n IHRoYXQgdGhlIHdyaXRlcyBvZiB0aGUgT0EgdW5pdCBsYW5kIGluCj4gKwkJICogbWVtb3J5IGlu IHRoZSBvcmRlciB0aGV5IHdlcmUgd3JpdHRlbiB0by4KPiArCQkgKiBJZiBub3QgOiAo4pWvwrDi lqHCsO+8ieKVr++4tSDilLvilIHilLsKPgkJICovCj4gLQkJaWYgKGh3X3RhaWwgPj0gZ3R0X29m ZnNldCAmJgo+IC0JCSAgICBod190YWlsIDwgKGd0dF9vZmZzZXQgKyBPQV9CVUZGRVJfU0laRSkp IHsKPiAtCQkJc3RyZWFtLT5vYV9idWZmZXIudGFpbHNbIWFnZWRfaWR4XS5vZmZzZXQgPQo+IC0J CQkJYWdpbmdfdGFpbCA9IGh3X3RhaWw7Cj4gLQkJCXN0cmVhbS0+b2FfYnVmZmVyLmFnaW5nX3Rp bWVzdGFtcCA9IG5vdzsKPiAtCQl9IGVsc2Ugewo+IC0JCQlkcm1fZXJyKCZzdHJlYW0tPnBlcmYt Pmk5MTUtPmRybSwKPiAtCQkJCSJJZ25vcmluZyBzcHVyaW91cyBvdXQgb2YgcmFuZ2UgT0EgYnVm ZmVyIHRhaWwgcG9pbnRlciA9ICV4XG4iLAo+IC0JCQkJaHdfdGFpbCk7Cj4gKwkJbGFuZGVkX3Jl cG9ydF9oZWFkcyA9IDA7Cj4gKwkJd2hpbGUgKE9BX1RBS0VOKHRhaWwsIGhlYWQpID49IHJlcG9y dF9zaXplKSB7Cj4gKwkJCXUzMiBwcmV2aW91c190YWlsID0gKHRhaWwgLSByZXBvcnRfc2l6ZSkg JiAoT0FfQlVGRkVSX1NJWkUgLSAxKTsKPiArCQkJdTggKnJlcG9ydCA9IHN0cmVhbS0+b2FfYnVm ZmVyLnZhZGRyICsgcHJldmlvdXNfdGFpbDsKPiArCQkJdTMyICpyZXBvcnQzMiA9ICh2b2lkICop IHJlcG9ydDsKCm5pdDogaW5zdGVhZCBvZiB0aGUgMiBzdGF0ZW1lbnRzIGFib3ZlIHdlIGNhbiBq dXN0IGhhdmUgYSBzaW5nbGUgc3RhdGVtZW50LApiZWNhdXNlIHN0cmVhbS0+b2FfYnVmZmVyLnZh ZGRyIGlzIHU4KjoKCgl1MzIgKnJlcG9ydDMyID0gKHZvaWQgKikoc3RyZWFtLT5vYV9idWZmZXIu dmFkZHIgKyBwcmV2aW91c190YWlsKTsKCj4gKwo+ICsJCQkvKiBIZWFkIG9mIHRoZSByZXBvcnQg aW5kaWNhdGVkIGJ5IHRoZSBIVyB0YWlsIHJlZ2lzdGVyIGhhcwo+ICsJCQkgKiBpbmRlZWQgbGFu ZGVkIGludG8gbWVtb3J5Lgo+ICsJCQkgKi8KPiArCQkJaWYgKHJlcG9ydDMyWzBdICE9IDAgfHwg cmVwb3J0MzJbMV0gIT0gMCkgewoKSnVzdCB3b25kZXJpbmcgaWYgaXQgaXMgc3VmZmljaWVudCB0 byBjaGVjayBqdXN0IG9uZSBvZiB0aGVzZSB0d28gKHJlcG9ydApyZWFzb24gYW5kIHRpbWVzdGFt cCk/Cgo+ICsJCQkJbGFuZGVkX3JlcG9ydF9oZWFkcysrOwoKVGhlb3JldGljYWxseSB3ZSBzaG91 bGQgYmUgY2hlY2tpbmcgZm9yICJ0d28gY29uc2VjdXRpdmUiIHJlcG9ydHMsIG5vdCBqdXN0CmFu eSB0d28gYXMgdGhlIGNvZGUgaXMgZG9pbmc/IE9yIG1heWJlIGl0J3Mgb2sgdG8ganVzdCBjaGVj ayBvbmNlLCBpLmUuIGlmCmRhdGEgYXQgcHJldmlvdXMgdGFpbCBoYXMgbGFuZGVkIHdlIGNhbiBi cmVhayBvdXQgb2YgdGhlIGxvb3A/Cgo+ICsKPiArCQkJCWlmIChsYW5kZWRfcmVwb3J0X2hlYWRz ID49IDIpCj4gKwkJCQkJYnJlYWs7Cj4gKwkJCX0KPiArCj4gKwkJCXRhaWwgPSBwcmV2aW91c190 YWlsOwo+CQl9Cj4gKwo+ICsJCWlmIChhYnModGFpbCAtIGh3X3RhaWwpID49ICgyICogcmVwb3J0 X3NpemUpKSB7CgpTaG91bGRuJ3QgaXQgYmUgYWNjb3VudGVkIHRoYXQgdGhpcyBpcyBhIGNpcmN1 bGFyIG5vdCBhIGxpbmVhciBidWZmZXI/Cgo+ICsJCQlpZiAoX19yYXRlbGltaXQoJnN0cmVhbS0+ cGVyZi0+dGFpbF9wb2ludGVyX3JhY2UpKSB7Cj4gKwkJCQlEUk1fTk9URSgidW5sYW5kZWQgcmVw b3J0KHMpIGhlYWQ9MHgleCAiCj4gKwkJCQkJICJ0YWlsPTB4JXggaHdfdGFpbD0weCV4XG4iLAo+ ICsJCQkJCSBoZWFkLCB0YWlsLCBod190YWlsKTsKCkJlY2F1c2UgdGhpcyBpcyBhIHJhdGVsaW1p dGVkIG91dHB1dCwgc2hvdWxkIHdlIGFsc28gaW5jbHVkZSBhIGNvdW50IGhlcmUKdG8gaW5kaWNh dGUgaG93IG9mdGVuIHRoaXMgaXMgaGFwcGVuaW5nPwoKPiArCQkJfQo+ICsJCX0KPiArCj4gKwkJ c3RyZWFtLT5vYV9idWZmZXIudGFpbCA9IGd0dF9vZmZzZXQgKyB0YWlsOwo+ICsJCXN0cmVhbS0+ b2FfYnVmZmVyLmFnaW5nX3RhaWwgPSBndHRfb2Zmc2V0ICsgaHdfdGFpbDsKPiArCQlzdHJlYW0t Pm9hX2J1ZmZlci5hZ2luZ190aW1lc3RhbXAgPSBub3c7Cj4JfQo+Cj4Jc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmc3RyZWFtLT5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKCkhtbSwgSSB0aGlu ayBJIHdvdWxkIGNvbXB1dGUgdGhlIHZhbHVlIHRvIHJldHVybiBiZWxvdyBhbmQgdGhlbiBkcm9w IHRoZQpsb2NrLCBqdXN0IGluIGNhc2UgcmVhZCBtb3ZlcyB0aGUgaGVhZD8KCj4KPiAtCXJldHVy biBhZ2VkX3RhaWwgPT0gSU5WQUxJRF9UQUlMX1BUUiA/Cj4gLQkJZmFsc2UgOiBPQV9UQUtFTihh Z2VkX3RhaWwsIGhlYWQpID49IHJlcG9ydF9zaXplOwo+ICsJcmV0dXJuIE9BX1RBS0VOKHN0cmVh bS0+b2FfYnVmZmVyLnRhaWwgLSBndHRfb2Zmc2V0LAo+ICsJCQlzdHJlYW0tPm9hX2J1ZmZlci5o ZWFkIC0gZ3R0X29mZnNldCkgPj0gcmVwb3J0X3NpemU7Cj4gKwoKRGVsZXRlIGV4dHJhIGxpbmUs IHJ1biBjaGVja3BhdGNoPwoKPiBAQCAtODM4LDEzICs4MjEsMTAgQEAgc3RhdGljIGludCBnZW44 X2FwcGVuZF9vYV9yZXBvcnRzKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCj4JCX0K Pgo+CQkvKgo+IC0JCSAqIFRoZSBhYm92ZSByZWFzb24gZmllbGQgc2FuaXR5IGNoZWNrIGlzIGJh c2VkIG9uCj4gLQkJICogdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgT0EgYnVmZmVyIGlzIGluaXRp YWxseQo+IC0JCSAqIHplcm9lZCBhbmQgd2UgcmVzZXQgdGhlIGZpZWxkIGFmdGVyIGNvcHlpbmcg c28gdGhlCj4gLQkJICogY2hlY2sgaXMgc3RpbGwgbWVhbmluZ2Z1bCBvbmNlIG9sZCByZXBvcnRz IHN0YXJ0Cj4gLQkJICogYmVpbmcgb3ZlcndyaXR0ZW4uCj4gKwkJICogQ2xlYXIgb3V0IHRoZSBm aXJzdCAyIGR3b3JkIGFzIGEgbWVhbiB0byBkZXRlY3QgdW5sYW5kZWQKPiArCQkgKiByZXBvcnRz Lgo+CQkgKi8KPiAtCQlyZXBvcnQzMlswXSA9IDA7Cj4gKwkJcmVwb3J0MzJbMF0gPSByZXBvcnQz MlsxXSA9IDA7CgpBZ2FpbiwgaG93IGFib3V0IGluaXRpYWxpemF0aW9uIGhlcmU/IFRoYXQgaXMs IHNpbmNlIHdlIGFyZSBkb2luZyB0aGlzIHdoZW4KY29weWluZyB0byB1c2VyIGJ1ZmZlciwgaXMg dGhlIGdlbSBvYmplY3QgYWxsb2NhdGVkIGluIGFsbG9jX29hX2J1ZmZlcigpCnplcm8nZCBvdXQg dG8gYmVnaW4gd2l0aD8KCj4gQEAgLTE1NTksOCArMTUyOCw4IEBAIHN0YXRpYyB2b2lkIGdlbjEy X2luaXRfb2FfYnVmZmVyKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCj4JCQkgICBn dHRfb2Zmc2V0ICYgR0VOMTJfT0FHX09BVEFJTFBUUl9NQVNLKTsKPgo+CS8qIE1hcmsgdGhhdCB3 ZSBuZWVkIHVwZGF0ZWQgdGFpbCBwb2ludGVycyB0byByZWFkIGZyb20uLi4gKi8KPiAtCXN0cmVh bS0+b2FfYnVmZmVyLnRhaWxzWzBdLm9mZnNldCA9IElOVkFMSURfVEFJTF9QVFI7Cj4gLQlzdHJl YW0tPm9hX2J1ZmZlci50YWlsc1sxXS5vZmZzZXQgPSBJTlZBTElEX1RBSUxfUFRSOwo+ICsJc3Ry ZWFtLT5vYV9idWZmZXIuYWdpbmdfdGFpbCA9Cj4gKwkJc3RyZWFtLT5vYV9idWZmZXIudGFpbCA9 IGd0dF9vZmZzZXQ7CgpXaGF0IGlzIHRoZSByZWFzb24gZm9yIGluaXRpYWxpemluZyB0aGUgaGVh ZCBhbmQgdGFpbCBmaXJzdCB0byBndHRfb2Zmc2V0CmFuZCBsYXRlciBzdWJ0cmFjdGluZyBpdCBv dXQ/IElmIGh3X3RhaWwgcmVhZCBmcm9tIHRoZSBIVyBoYXMgdGhpcyBvZmZzZXQKaXQgc2VlbXMg c2ltcGxlciB0byBqdXN0IHN1YnRyYWN0IG91dCBndHRfb2Zmc2V0IGZyb20gaHdfdGFpbCBidXQg bGVhdmUgYWxsCnRoZXNlIHNvZnR3YXJlIGhlYWQvdGFpbCBub3QgaGF2ZSBndHRfb2Zmc2V0IChp bml0aWFsaXplZCB0byAwKT8gVGhvdWdoIEkKdGhpbmsgdGhpcyBpcyBhbGwgb3ZlciB0aGUgcGxh Y2Ugc28gaXQgaXMgcHJvYmFibHkgYmV0dGVyIGxlZnQgdG8gYQpzZXBhcmF0ZSBsYXRlciBwYXRj aC4gU28gbWF5YmUgbGVhdmUgYXMgaXMgZm9yIG5vdy4KClRoYW5rcyEKLS0KQXNodXRvc2gKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==