Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp17032ybg; Mon, 27 Jul 2020 20:20:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwLIZ5bYYjyEZRnfcnHB53Xiu4+f8FbsICrIQud+ted7D+LZ4a4ONB80zNqNnJUsKRhZlPG X-Received: by 2002:a17:907:20f8:: with SMTP id rh24mr23020572ejb.309.1595906453296; Mon, 27 Jul 2020 20:20:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595906453; cv=none; d=google.com; s=arc-20160816; b=wstiqZ1kyRZgGd1HkrKGJTx4/TadYY53g8BRhMLP2RAKIcTA6mvJ1ifducai9I4NF1 UV/kiYFvdDvzrvO0wDIn7TQ3rJsofTPeKwHe/89xEFXoR19FPODAKoUdzBWoksnAKc75 BYy27Z/hbQKIBlek5JCzw/1hVVeDPCf+ub4cmIWMfxiwhpuuaPM88qBCChI09vgRYRu+ rUtyRbwx9nr69KynWj9AQ83UVRDr8IZ+Ak8xEyuiACXHcyKyFVBiPJZIQ5A6J9SzyA6a EUvaa11nOqwIByVpbTy7VbuxnNnMsi95FC77V8E5FFpwePtUbVbN/r/uniwP5j7kqYMK FB0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=pneX9c+Nf642/lsLtl0xOpkT7L9EnCYziae9xk67Zrg=; b=NPPnbHehs1n65acfUoY+dY1y6JG52YpwDvtCkHdJSWaJIji9j1BaaLpDxmmcsxMGyB nbpFZKSF6Kv7rzwFbGLljbqTrm29qBa9IzOhO4oR2iWB5tqRJISkGAZWYANxbWV/tuVs sqk3oj4i8F7EDiS/mJ4rTqqgaHK32aceOWSHeu7vhmwzURGA6Z7r5mwpOJQh+EHyrR46 j6YSP1QvbnoJuhP+SHclbVKYDRCQDb+ZCJFxqocEsZX+QBDCI6BWDTONqCI7aU5QdjOu 22P5KMxxeU+R4r9LDTdATyi/0WRPcfN2Ijaa9hXSoZvo7eGwLU05ROg672ZB8OT7IpXD Hdqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=FTu30law; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z3si6701132ejc.547.2020.07.27.20.20.30; Mon, 27 Jul 2020 20:20:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=FTu30law; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726957AbgG1DUO (ORCPT + 99 others); Mon, 27 Jul 2020 23:20:14 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:61870 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726620AbgG1DUL (ORCPT ); Mon, 27 Jul 2020 23:20:11 -0400 X-UUID: 2cc1c471494f453bb2412d9b4df64ba1-20200728 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=pneX9c+Nf642/lsLtl0xOpkT7L9EnCYziae9xk67Zrg=; b=FTu30lawI1annMATkWbpxJCP3hTTDWKTvU4QdmfmSYPqipUZIs9qAHtUdi8FtlOwKIX4UoUBnaPfhzgN56MU67LSUXAb6QfHgtxzo0V/hRM/D4fFU6TNjjQhfYqqXyJ+H2sbOQQnBrqlz54Ud0zoMuLYDjAeRyjnHPKZGiDhNPw=; X-UUID: 2cc1c471494f453bb2412d9b4df64ba1-20200728 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1986657232; Tue, 28 Jul 2020 11:20:05 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 28 Jul 2020 11:20:03 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 28 Jul 2020 11:20:01 +0800 From: Frankie Chang To: Todd Kjos CC: Greg Kroah-Hartman , Joel Fernandes , Martijn Coenen , =?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= , Christian Brauner , , , , Jian-Min Liu , Frankie Chang Subject: [PATCH v6 3/3] binder: add transaction latency tracer Date: Tue, 28 Jul 2020 11:20:01 +0800 Message-ID: <1595906401-11985-4-git-send-email-Frankie.Chang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1595906401-11985-1-git-send-email-Frankie.Chang@mediatek.com> References: <1595252430.5899.6.camel@mtkswgap22> <1595906401-11985-1-git-send-email-Frankie.Chang@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogIkZyYW5raWUuQ2hhbmciIDxGcmFua2llLkNoYW5nQG1lZGlhdGVrLmNvbT4NCg0KUmVj b3JkIHN0YXJ0L2VuZCB0aW1lc3RhbXAgZm9yIGJpbmRlciB0cmFuc2FjdGlvbi4NCldoZW4gdHJh bnNhY3Rpb24gaXMgY29tcGxldGVkIG9yIHRyYW5zYWN0aW9uIGlzIGZyZWUsDQppdCB3b3VsZCBi ZSBjaGVja2VkIGlmIHRyYW5zYWN0aW9uIGxhdGVuY3kgb3ZlciB0aHJlc2hvbGQNCihkZWZhdWx0 IDIgc2VjKSwgaWYgeWVzLCBwcmludGluZyByZWxhdGVkIGluZm9ybWF0aW9uIGZvciB0cmFjaW5n Lg0KDQovKiBJbXBsZW1lbnQgZGV0YWlscyAqLw0KLSBBZGQgbGF0ZW5jeSB0cmFjZXIgbW9kdWxl IHRvIG1vbml0b3IgdHJhbnNhY3Rpb24NCiAgYnkgYXR0YWNoaW5nIHRvIG5ldyB0cmFjZXBvaW50 cyBpbnRyb2R1Y2VkDQogIHdoZW4gdHJhbnNhY3Rpb25zIGFyZSBhbGxvY2F0ZWQgYW5kIGZyZWVk Lg0KICBUaGUgdHJhY2VfYmluZGVyX3R4bl9sYXRlbmN5X2ZyZWUgd291bGQgbm90IGJlIGVuYWJs ZWQNCiAgYnkgZGVmYXVsdC4gTW9uaXRvcmluZyB3aGljaCB0cmFuc2FjdGlvbiBpcyB0b28gc2xv dyB0bw0KICBjYXVzZSBzb21lIG9mIGV4Y2VwdGlvbnMgaXMgaW1wb3J0YW50LiBTbyB3ZSBob29r IHRoZQ0KICB0cmFjZXBvaW50IHRvIGNhbGwgdGhlIG1vbml0b3IgZnVuY3Rpb24uDQoNCi0gU2lu Y2Ugc29tZSBvZiBtb2R1bGVzIHdvdWxkIHRyaWdnZXIgdGltZW91dCBORQ0KICBpZiB0aGVpciBi aW5kZXIgdHJhbnNhY3Rpb24gZG9uJ3QgZmluaXNoIGluIHRpbWUsDQogIHN1Y2ggYXMgYXVkaW8g dGltZW91dCAoNSBzZWMpLCBldmVuIEJUIGNvbW1hbmQNCiAgdGltZW91dCAoMiBzZWMpLCBldGMu DQogIFRoZXJlZm9yZSwgc2V0dGluZyB0aGUgdGltZW91dCB0aHJlc2hvbGQgYXMgZGVmYXVsdA0K ICAyIHNlY29uZHMgY291bGQgYmUgaGVscGZ1bCB0byBkZWJ1Zy4NCiAgQnV0IHRoaXMgdGltZW91 dCB0aHJlc2hvbGQgaXMgY29uZmlndXJhYmxlLCB0byBsZXQNCiAgYWxsIHVzZXJzIGRldGVybWlu ZSB0aGUgbW9yZSBzdWl0YWJsZSB0aHJlc2hvbGQuDQoNCi0gVGhlIHJlYXNvbiB3aHkgcHJpbnRp bmcgdGhlIHJlbGF0ZWQgaW5mb3JtYXRpb24gdG8NCiAga2VybmVsIGluZm9ybWF0aW9uIGxvZyBi dXQgbm90IHRyYWNlIGJ1ZmZlciBpcyB0aGF0DQogIHNvbWUgYWJub3JtYWwgdHJhbnNhY3Rpb25z IG1heSBiZSBwZW5kaW5nIGZvciBhIGxvbmcNCiAgdGltZSBhZ28sIHRoZXkgY291bGQgbm90IGJl IHJlY29yZGVkIGR1ZSB0byBidWZmZXINCiAgbGltaXRlZC4NCg0KU2lnbmVkLW9mZi1ieTogRnJh bmtpZS5DaGFuZyA8RnJhbmtpZS5DaGFuZ0BtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL2Fu ZHJvaWQvS2NvbmZpZyAgICAgICAgICAgICAgICAgfCAgICA4ICsrKw0KIGRyaXZlcnMvYW5kcm9p ZC9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAgIDEgKw0KIGRyaXZlcnMvYW5kcm9pZC9iaW5k ZXIuYyAgICAgICAgICAgICAgICB8ICAgIDIgKw0KIGRyaXZlcnMvYW5kcm9pZC9iaW5kZXJfaW50 ZXJuYWwuaCAgICAgICB8ICAgMTMgKysrKw0KIGRyaXZlcnMvYW5kcm9pZC9iaW5kZXJfbGF0ZW5j eV90cmFjZXIuYyB8ICAxMTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGRyaXZl cnMvYW5kcm9pZC9iaW5kZXJfdHJhY2UuaCAgICAgICAgICB8ICAgMjYgKysrKysrLQ0KIDYgZmls ZXMgY2hhbmdlZCwgMTU5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvYW5kcm9pZC9iaW5kZXJfbGF0ZW5jeV90cmFjZXIuYw0KDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9hbmRyb2lkL0tjb25maWcgYi9kcml2ZXJzL2FuZHJvaWQvS2NvbmZp Zw0KaW5kZXggNmZkZjJhYi4uOTFmZmYxZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvYW5kcm9pZC9L Y29uZmlnDQorKysgYi9kcml2ZXJzL2FuZHJvaWQvS2NvbmZpZw0KQEAgLTU0LDYgKzU0LDE0IEBA IGNvbmZpZyBBTkRST0lEX0JJTkRFUl9JUENfU0VMRlRFU1QNCiAJICBleGhhdXN0aXZlbHkgd2l0 aCBjb21iaW5hdGlvbnMgb2YgdmFyaW91cyBidWZmZXIgc2l6ZXMgYW5kDQogCSAgYWxpZ25tZW50 cy4NCiANCitjb25maWcgQklOREVSX1RSQU5TQUNUSU9OX0xBVEVOQ1lfVFJBQ0tJTkcNCisJdHJp c3RhdGUgIkFuZHJvaWQgQmluZGVyIHRyYW5zYWN0aW9uIHRyYWNraW5nIg0KKwloZWxwDQorCSAg VXNlZCBmb3IgdHJhY2sgYWJub3JtYWwgYmluZGVyIHRyYW5zYWN0aW9uIHdoaWNoIGlzIG92ZXIg dGhyZXNob2xkLA0KKwkgIHdoZW4gdGhlIHRyYW5zYWN0aW9uIGlzIGRvbmUgb3IgYmUgZnJlZSwg dGhpcyB0cmFuc2FjdGlvbiB3b3VsZCBiZQ0KKwkgIGNoZWNrZWQgd2hldGhlciBpdCBleGVjdXRl ZCBvdmVydGltZS4NCisJICBJZiB5ZXMsIHByaW50aW5nIG91dCB0aGUgZGV0YWlsZWQgaW5mby4N CisNCiBlbmRpZiAjIGlmIEFORFJPSUQNCiANCiBlbmRtZW51DQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9hbmRyb2lkL01ha2VmaWxlIGIvZHJpdmVycy9hbmRyb2lkL01ha2VmaWxlDQppbmRleCBjOWQz ZDBjOS4uYzJmZmRiNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvYW5kcm9pZC9NYWtlZmlsZQ0KKysr IGIvZHJpdmVycy9hbmRyb2lkL01ha2VmaWxlDQpAQCAtNCwzICs0LDQgQEAgY2NmbGFncy15ICs9 IC1JJChzcmMpCQkJIyBuZWVkZWQgZm9yIHRyYWNlIGV2ZW50cw0KIG9iai0kKENPTkZJR19BTkRS T0lEX0JJTkRFUkZTKQkJKz0gYmluZGVyZnMubw0KIG9iai0kKENPTkZJR19BTkRST0lEX0JJTkRF Ul9JUEMpCSs9IGJpbmRlci5vIGJpbmRlcl9hbGxvYy5vDQogb2JqLSQoQ09ORklHX0FORFJPSURf QklOREVSX0lQQ19TRUxGVEVTVCkgKz0gYmluZGVyX2FsbG9jX3NlbGZ0ZXN0Lm8NCitvYmotJChD T05GSUdfQklOREVSX1RSQU5TQUNUSU9OX0xBVEVOQ1lfVFJBQ0tJTkcpCSs9IGJpbmRlcl9sYXRl bmN5X3RyYWNlci5vDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hbmRyb2lkL2JpbmRlci5jIGIvZHJp dmVycy9hbmRyb2lkL2JpbmRlci5jDQppbmRleCAxZTZmYzQwLi4wOTU2NDAzIDEwMDY0NA0KLS0t IGEvZHJpdmVycy9hbmRyb2lkL2JpbmRlci5jDQorKysgYi9kcml2ZXJzL2FuZHJvaWQvYmluZGVy LmMNCkBAIC0yNjU4LDYgKzI2NTgsNyBAQCBzdGF0aWMgdm9pZCBiaW5kZXJfdHJhbnNhY3Rpb24o c3RydWN0IGJpbmRlcl9wcm9jICpwcm9jLA0KIAkJcmV0dXJuX2Vycm9yX2xpbmUgPSBfX0xJTkVf XzsNCiAJCWdvdG8gZXJyX2FsbG9jX3RfZmFpbGVkOw0KIAl9DQorCXRyYWNlX2JpbmRlcl90eG5f bGF0ZW5jeV9hbGxvYyh0KTsNCiAJSU5JVF9MSVNUX0hFQUQoJnQtPmZkX2ZpeHVwcyk7DQogCWJp bmRlcl9zdGF0c19jcmVhdGVkKEJJTkRFUl9TVEFUX1RSQU5TQUNUSU9OKTsNCiAJc3Bpbl9sb2Nr X2luaXQoJnQtPmxvY2spOw0KQEAgLTUxNDcsNiArNTE0OCw3IEBAIHN0YXRpYyB2b2lkIHByaW50 X2JpbmRlcl90cmFuc2FjdGlvbl9pbG9ja2VkKHN0cnVjdCBzZXFfZmlsZSAqbSwNCiAJCSAgIHRv X3Byb2MgPyB0b19wcm9jLT5waWQgOiAwLA0KIAkJICAgdC0+dG9fdGhyZWFkID8gdC0+dG9fdGhy ZWFkLT5waWQgOiAwLA0KIAkJICAgdC0+Y29kZSwgdC0+ZmxhZ3MsIHQtPnByaW9yaXR5LCB0LT5u ZWVkX3JlcGx5KTsNCisJdHJhY2VfYmluZGVyX3R4bl9sYXRlbmN5X2luZm8obSwgdCk7DQogCXNw aW5fdW5sb2NrKCZ0LT5sb2NrKTsNCiANCiAJaWYgKHByb2MgIT0gdG9fcHJvYykgew0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvYW5kcm9pZC9iaW5kZXJfaW50ZXJuYWwuaCBiL2RyaXZlcnMvYW5kcm9p ZC9iaW5kZXJfaW50ZXJuYWwuaA0KaW5kZXggNWI2NTQxMy4uNTk2ZGIwMCAxMDA2NDQNCi0tLSBh L2RyaXZlcnMvYW5kcm9pZC9iaW5kZXJfaW50ZXJuYWwuaA0KKysrIGIvZHJpdmVycy9hbmRyb2lk L2JpbmRlcl9pbnRlcm5hbC5oDQpAQCAtMTMsNiArMTMsMTEgQEANCiAjaW5jbHVkZSA8bGludXgv dWlkZ2lkLmg+DQogI2luY2x1ZGUgImJpbmRlcl9hbGxvYy5oIg0KIA0KKyNpZiBJU19FTkFCTEVE KENPTkZJR19CSU5ERVJfVFJBTlNBQ1RJT05fTEFURU5DWV9UUkFDS0lORykNCisjaW5jbHVkZSA8 bGludXgvcnRjLmg+DQorI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4NCisjZW5kaWYNCisNCiBzdHJ1 Y3QgYmluZGVyX2NvbnRleHQgew0KIAlzdHJ1Y3QgYmluZGVyX25vZGUgKmJpbmRlcl9jb250ZXh0 X21ncl9ub2RlOw0KIAlzdHJ1Y3QgbXV0ZXggY29udGV4dF9tZ3Jfbm9kZV9sb2NrOw0KQEAgLTUy MSw2ICs1MjYsMTQgQEAgc3RydWN0IGJpbmRlcl90cmFuc2FjdGlvbiB7DQogCSAqIGR1cmluZyB0 aHJlYWQgdGVhcmRvd24NCiAJICovDQogCXNwaW5sb2NrX3QgbG9jazsNCisJLyoqDQorCSAqIEB0 aW1lc3RhbXAgYW5kIEB0diBhcmUgdXNlZCB0byByZWNvcmQgdGhlIHRpbWUNCisJICogdGhhdCB0 aGUgYmluZGVyIHRyYW5zYWN0aW9uIHN0YXJ0dXANCisJICovDQorI2lmIElTX0VOQUJMRUQoQ09O RklHX0JJTkRFUl9UUkFOU0FDVElPTl9MQVRFTkNZX1RSQUNLSU5HKQ0KKwlzdHJ1Y3QgdGltZXNw ZWM2NCB0aW1lc3RhbXA7DQorCXN0cnVjdCB0aW1ldmFsIHR2Ow0KKyNlbmRpZg0KIH07DQogDQog LyoqDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hbmRyb2lkL2JpbmRlcl9sYXRlbmN5X3RyYWNlci5j IGIvZHJpdmVycy9hbmRyb2lkL2JpbmRlcl9sYXRlbmN5X3RyYWNlci5jDQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uYjMzOWFlMQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJp dmVycy9hbmRyb2lkL2JpbmRlcl9sYXRlbmN5X3RyYWNlci5jDQpAQCAtMCwwICsxLDExMiBAQA0K Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQorLyoNCisgKiBDb3B5cmlnaHQg KEMpIDIwMTkgTWVkaWFUZWsgSW5jLg0KKyAqLw0KKw0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUu aD4NCisjaW5jbHVkZSA8dWFwaS9saW51eC9hbmRyb2lkL2JpbmRlci5oPg0KKyNpbmNsdWRlICJi aW5kZXJfaW50ZXJuYWwuaCINCisjaW5jbHVkZSAiYmluZGVyX3RyYWNlLmgiDQorDQorLyoqDQor ICogVGhlIHJlYXNvbiBzZXR0aW5nIHRoZSBiaW5kZXJfdHhuX2xhdGVuY3lfdGhyZXNob2xkIHRv IDIgc2VjDQorICogaXMgdGhhdCBtb3N0IG9mIHRpbWVvdXQgYWJvcnQgaXMgZ3JlYXRlciBvciBl cXVhbCB0byAyIHNlYy4NCisgKiBNYWtpbmcgaXQgY29uZmlndXJhYmxlIHRvIGxldCBhbGwgdXNl cnMgZGV0ZXJtaW5lIHdoaWNoDQorICogdGhyZXNob2xkIGlzIG1vcmUgc3VpdGFibGUuDQorICov DQorc3RhdGljIHVpbnQzMl90IGJpbmRlcl90eG5fbGF0ZW5jeV90aHJlc2hvbGQgPSAyOw0KK21v ZHVsZV9wYXJhbV9uYW1lZCh0aHJlc2hvbGQsIGJpbmRlcl90eG5fbGF0ZW5jeV90aHJlc2hvbGQs DQorCQkJdWludCwgMDY0NCk7DQorDQorLyoNCisgKiBwcm9iZV9iaW5kZXJfdHhuX2xhdGVuY3lf ZnJlZSAtIE91dHB1dCBpbmZvIG9mIGEgZGVsYXkgdHJhbnNhY3Rpb24NCisgKiBAdDogICAgICAg ICAgcG9pbnRlciB0byB0aGUgb3Zlci10aW1lIHRyYW5zYWN0aW9uDQorICovDQordm9pZCBwcm9i ZV9iaW5kZXJfdHhuX2xhdGVuY3lfZnJlZSh2b2lkICppZ25vcmUsIHN0cnVjdCBiaW5kZXJfdHJh bnNhY3Rpb24gKnQpDQorew0KKwlzdHJ1Y3QgcnRjX3RpbWUgdG07DQorCXN0cnVjdCB0aW1lc3Bl YzY0ICpzdGFydGltZTsNCisJc3RydWN0IHRpbWVzcGVjNjQgY3VyLCBzdWJfdDsNCisNCisJa3Rp bWVfZ2V0X3RzNjQoJmN1cik7DQorCXN0YXJ0aW1lID0gJnQtPnRpbWVzdGFtcDsNCisJc3ViX3Qg PSB0aW1lc3BlYzY0X3N1YihjdXIsICpzdGFydGltZSk7DQorDQorCS8qIGlmIHRyYW5zYWN0aW9u IHRpbWUgaXMgb3ZlciB0aGFuIGJpbmRlcl90eG5fbGF0ZW5jeV90aHJlc2hvbGQgKHNlYyksDQor CSAqIHNob3cgdGltZW91dCB3YXJuaW5nIGxvZy4NCisJICovDQorCWlmIChzdWJfdC50dl9zZWMg PCBiaW5kZXJfdHhuX2xhdGVuY3lfdGhyZXNob2xkKQ0KKwkJcmV0dXJuOw0KKw0KKwlydGNfdGlt ZV90b190bSh0LT50di50dl9zZWMsICZ0bSk7DQorDQorCXByX2luZm9fcmF0ZWxpbWl0ZWQoIiVk OiBmcm9tICVkOiVkIHRvICVkOiVkIiwNCisJCQl0LT5kZWJ1Z19pZCwNCisJCQl0LT5mcm9tID8g dC0+ZnJvbS0+cHJvYy0+cGlkIDogMCwNCisJCQl0LT5mcm9tID8gdC0+ZnJvbS0+cGlkIDogMCwN CisJCQl0LT50b19wcm9jID8gdC0+dG9fcHJvYy0+cGlkIDogMCwNCisJCQl0LT50b190aHJlYWQg PyB0LT50b190aHJlYWQtPnBpZCA6IDApOw0KKw0KKwlwcl9pbmZvX3JhdGVsaW1pdGVkKCIgdG90 YWwgJXUuJTAzbGQgcyBjb2RlICV1IHN0YXJ0ICVsdS4lMDNsZCBhbmRyb2lkICVkLSUwMmQtJTAy ZCAlMDJkOiUwMmQ6JTAyZC4lMDNsdVxuIiwNCisJCQkodW5zaWduZWQgaW50KXN1Yl90LnR2X3Nl YywNCisJCQkoc3ViX3QudHZfbnNlYyAvIE5TRUNfUEVSX01TRUMpLA0KKwkJCXQtPmNvZGUsDQor CQkJKHVuc2lnbmVkIGxvbmcpc3RhcnRpbWUtPnR2X3NlYywNCisJCQkoc3RhcnRpbWUtPnR2X25z ZWMgLyBOU0VDX1BFUl9NU0VDKSwNCisJCQkodG0udG1feWVhciArIDE5MDApLCAodG0udG1fbW9u ICsgMSksIHRtLnRtX21kYXksDQorCQkJdG0udG1faG91ciwgdG0udG1fbWluLCB0bS50bV9zZWMs DQorCQkJKHVuc2lnbmVkIGxvbmcpKHQtPnR2LnR2X3VzZWMgLyBVU0VDX1BFUl9NU0VDKSk7DQor fQ0KKw0KK3N0YXRpYyB2b2lkIHByb2JlX2JpbmRlcl90eG5fbGF0ZW5jeV9hbGxvYyh2b2lkICpp Z25vcmUsDQorCQkJCQlzdHJ1Y3QgYmluZGVyX3RyYW5zYWN0aW9uICp0KQ0KK3sNCisJc3RydWN0 IHRpbWVzcGVjNjQgbm93Ow0KKwlrdGltZV9nZXRfdHM2NCgmdC0+dGltZXN0YW1wKTsNCisJa3Rp bWVfZ2V0X3JlYWxfdHM2NCgmbm93KTsNCisJdC0+dHYudHZfc2VjID0gbm93LnR2X3NlYzsNCisJ dC0+dHYudHZfc2VjIC09IChzeXNfdHoudHpfbWludXRlc3dlc3QgKiA2MCk7DQorCXQtPnR2LnR2 X3VzZWMgPSBub3cudHZfbnNlYy8xMDAwOw0KK30NCisNCitzdGF0aWMgdm9pZCBwcm9iZV9iaW5k ZXJfdHhuX2xhdGVuY3lfaW5mbyh2b2lkICppZ25vcmUsIHN0cnVjdCBzZXFfZmlsZSAqbSwNCisJ CQkJCXN0cnVjdCBiaW5kZXJfdHJhbnNhY3Rpb24gKnQpDQorew0KKwlzdHJ1Y3QgcnRjX3RpbWUg dG07DQorDQorCXJ0Y190aW1lX3RvX3RtKHQtPnR2LnR2X3NlYywgJnRtKTsNCisJc2VxX3ByaW50 ZihtLA0KKwkJICAgIiBzdGFydCAlbHUuJTA2bHUgYW5kcm9pZCAlZC0lMDJkLSUwMmQgJTAyZDol MDJkOiUwMmQuJTAzbHUiLA0KKwkJICAgKHVuc2lnbmVkIGxvbmcpdC0+dGltZXN0YW1wLnR2X3Nl YywNCisJCSAgICh0LT50aW1lc3RhbXAudHZfbnNlYyAvIE5TRUNfUEVSX1VTRUMpLA0KKwkJICAg KHRtLnRtX3llYXIgKyAxOTAwKSwgKHRtLnRtX21vbiArIDEpLCB0bS50bV9tZGF5LA0KKwkJICAg dG0udG1faG91ciwgdG0udG1fbWluLCB0bS50bV9zZWMsDQorCQkgICAodW5zaWduZWQgbG9uZyko dC0+dHYudHZfdXNlYyAvIFVTRUNfUEVSX01TRUMpKTsNCit9DQorDQorc3RhdGljIGludCBfX2lu aXQgaW5pdF9iaW5kZXJfbGF0ZW5jeV90cmFjZXIodm9pZCkNCit7DQorCXJlZ2lzdGVyX3RyYWNl X2JpbmRlcl90eG5fbGF0ZW5jeV9mcmVlKA0KKwkJCXByb2JlX2JpbmRlcl90eG5fbGF0ZW5jeV9m cmVlLCBOVUxMKTsNCisJcmVnaXN0ZXJfdHJhY2VfYmluZGVyX3R4bl9sYXRlbmN5X2FsbG9jKA0K KwkJCXByb2JlX2JpbmRlcl90eG5fbGF0ZW5jeV9hbGxvYywgTlVMTCk7DQorCXJlZ2lzdGVyX3Ry YWNlX2JpbmRlcl90eG5fbGF0ZW5jeV9pbmZvKA0KKwkJCXByb2JlX2JpbmRlcl90eG5fbGF0ZW5j eV9pbmZvLCBOVUxMKTsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGV4aXRf YmluZGVyX2xhdGVuY3lfdHJhY2VyKHZvaWQpDQorew0KKwl1bnJlZ2lzdGVyX3RyYWNlX2JpbmRl cl90eG5fbGF0ZW5jeV9mcmVlKA0KKwkJCXByb2JlX2JpbmRlcl90eG5fbGF0ZW5jeV9mcmVlLCBO VUxMKTsNCisJdW5yZWdpc3Rlcl90cmFjZV9iaW5kZXJfdHhuX2xhdGVuY3lfYWxsb2MoDQorCQkJ cHJvYmVfYmluZGVyX3R4bl9sYXRlbmN5X2FsbG9jLCBOVUxMKTsNCisJdW5yZWdpc3Rlcl90cmFj ZV9iaW5kZXJfdHhuX2xhdGVuY3lfaW5mbygNCisJCQlwcm9iZV9iaW5kZXJfdHhuX2xhdGVuY3lf aW5mbywgTlVMTCk7DQorfQ0KKw0KK21vZHVsZV9pbml0KGluaXRfYmluZGVyX2xhdGVuY3lfdHJh Y2VyKTsNCittb2R1bGVfZXhpdChleGl0X2JpbmRlcl9sYXRlbmN5X3RyYWNlcik7DQorDQorTU9E VUxFX0xJQ0VOU0UoIkdQTCB2MiIpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYW5kcm9pZC9iaW5k ZXJfdHJhY2UuaCBiL2RyaXZlcnMvYW5kcm9pZC9iaW5kZXJfdHJhY2UuaA0KaW5kZXggOGFjODdk MS4uNDA1ZDQ5MyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvYW5kcm9pZC9iaW5kZXJfdHJhY2UuaA0K KysrIGIvZHJpdmVycy9hbmRyb2lkL2JpbmRlcl90cmFjZS5oDQpAQCAtOTUsNiArOTUsMTcgQEAN CiAJCSAgX19lbnRyeS0+dGhyZWFkX3RvZG8pDQogKTsNCiANCitERUNMQVJFX1RSQUNFKGJpbmRl cl90eG5fbGF0ZW5jeV9hbGxvYywNCisJVFBfUFJPVE8oc3RydWN0IGJpbmRlcl90cmFuc2FjdGlv biAqdCksDQorCVRQX0FSR1ModCwgZSkNCispOw0KKw0KK0RFQ0xBUkVfVFJBQ0UoYmluZGVyX3R4 bl9sYXRlbmN5X2luZm8sDQorCVRQX1BST1RPKHN0cnVjdCBzZXFfZmlsZSAqbSwNCisJCSBzdHJ1 Y3QgYmluZGVyX3RyYW5zYWN0aW9uICp0KSwNCisJVFBfQVJHUyhtLCB0KQ0KKyk7DQorDQogVFJB Q0VfRVZFTlQoYmluZGVyX3R4bl9sYXRlbmN5X2ZyZWUsDQogCVRQX1BST1RPKHN0cnVjdCBiaW5k ZXJfdHJhbnNhY3Rpb24gKnQpLA0KIAlUUF9BUkdTKHQpLA0KQEAgLTEwNiw2ICsxMTcsOCBAQA0K IAkJX19maWVsZChpbnQsIHRvX3RocmVhZCkNCiAJCV9fZmllbGQodW5zaWduZWQgaW50LCBjb2Rl KQ0KIAkJX19maWVsZCh1bnNpZ25lZCBpbnQsIGZsYWdzKQ0KKwkJX19maWVsZCh1bnNpZ25lZCBs b25nLCBzdGFydF9zZWMpDQorCQlfX2ZpZWxkKHVuc2lnbmVkIGxvbmcsIHN0YXJ0X25zZWMpDQog CSksDQogCVRQX2Zhc3RfYXNzaWduKA0KIAkJX19lbnRyeS0+ZGVidWdfaWQgPSB0LT5kZWJ1Z19p ZDsNCkBAIC0xMTUsMTEgKzEyOCwxOCBAQA0KIAkJX19lbnRyeS0+dG9fdGhyZWFkID0gdC0+dG9f dGhyZWFkID8gdC0+dG9fdGhyZWFkLT5waWQgOiAwOw0KIAkJX19lbnRyeS0+Y29kZSA9IHQtPmNv ZGU7DQogCQlfX2VudHJ5LT5mbGFncyA9IHQtPmZsYWdzOw0KLQkpLA0KLQlUUF9wcmludGsoInRy YW5zYWN0aW9uPSVkIGZyb20gJWQ6JWQgdG8gJWQ6JWQgZmxhZ3M9MHgleCBjb2RlPTB4JXgiLA0K KyNpZiBJU19FTkFCTEVEKENPTkZJR19CSU5ERVJfVFJBTlNBQ1RJT05fTEFURU5DWV9UUkFDS0lO RykNCisJCV9fZW50cnktPnN0YXJ0X3NlYyA9IHQtPnRpbWVzdGFtcC50dl9zZWM7DQorCQlfX2Vu dHJ5LT5zdGFydF9uc2VjID0gdC0+dGltZXN0YW1wLnR2X25zZWMgLyBOU0VDX1BFUl9NU0VDOw0K KyNlbHNlDQorCQlfX2VudHJ5LT5zdGFydF9zZWMgPSAwOw0KKwkJX19lbnRyeS0+c3RhcnRfbnNl YyA9IDA7DQorI2VuZGlmDQorCSksDQorCVRQX3ByaW50aygidHJhbnNhY3Rpb249JWQgZnJvbSAl ZDolZCB0byAlZDolZCBmbGFncz0weCV4IGNvZGU9MHgleCBzdGFydCAlbHUuJTAzbGQiLA0KIAkJ ICBfX2VudHJ5LT5kZWJ1Z19pZCwgX19lbnRyeS0+ZnJvbV9wcm9jLCBfX2VudHJ5LT5mcm9tX3Ro cmVhZCwNCiAJCSAgX19lbnRyeS0+dG9fcHJvYywgX19lbnRyeS0+dG9fdGhyZWFkLCBfX2VudHJ5 LT5jb2RlLA0KLQkJICBfX2VudHJ5LT5mbGFncykNCisJCSAgX19lbnRyeS0+ZmxhZ3MsIF9fZW50 cnktPnN0YXJ0X3NlYywgX19lbnRyeS0+c3RhcnRfbnNlYykNCiApOw0KIA0KIFRSQUNFX0VWRU5U KGJpbmRlcl90cmFuc2FjdGlvbiwNCi0tIA0KMS43LjkuNQ0K