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=-8.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 20A43C31E44 for ; Mon, 17 Jun 2019 08:24:22 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 DE6AB20652 for ; Mon, 17 Jun 2019 08:24:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DE6AB20652 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hcmvu-0004hP-Ms; Mon, 17 Jun 2019 08:24:06 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hcmvs-0004hI-Lp for xen-devel@lists.xenproject.org; Mon, 17 Jun 2019 08:24:04 +0000 X-Inumbo-ID: 42db302a-90d9-11e9-8980-bc764e045a96 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 42db302a-90d9-11e9-8980-bc764e045a96; Mon, 17 Jun 2019 08:24:01 +0000 (UTC) Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=paul.durrant@citrix.com; spf=Pass smtp.mailfrom=Paul.Durrant@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of paul.durrant@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="paul.durrant@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa4.hc3370-68.iphmx.com: domain of Paul.Durrant@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 2EJ5GOIkHBLLq5YY1OEt7ImCyh73qego/JJNJ4PBmhWY05Qr2ez4u8MrWE41ECTfzLIdRPGpam o2TiMD/p94Q3bLsSQCFn/t4cWaVDTklcifJ6GgWIUH9+B1nFwd52KuekZkAS7FPorTo7phk7hT u519j+n/Rjh5cT80rN9pIIsU4rBbOGak5ZbX+846JlCiZCFQiiymEGsks36Omam24R9NGp+4cK gFFqEWD6KpvrnyGW/2BZAGVqzxq1TgS8VlF2z99HoDV7b+sknas76pWZ2W4xkgFgE0xCTMPHxF LAI= X-SBRS: 2.7 X-MesageID: 1823119 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.63,384,1557201600"; d="scan'208";a="1823119" From: Paul Durrant To: Date: Mon, 17 Jun 2019 09:23:58 +0100 Message-ID: <20190617082358.2734-1-paul.durrant@citrix.com> X-Mailer: git-send-email 2.20.1.2.gb21ebb671 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v2] viridian: unify time sources X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Paul Durrant , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Q3VycmVudGx5LCB0aGUgdGltZV9yZWZfY291bnQgZW5saWdodGVuZWQgdGltZSBzb3VyY2UgbWFp bnRhaW5zIGFuIG9mZnNldApzdWNoIHRoYXQgdGltZSBpcyBmcm96ZW4gd2hlbiB0aGUgZG9tYWlu IHBhdXNlZCwgYnV0IHRoZSByZWZlcmVuY2VfdHNjCmVubGlnaHRlbmVkIHRpbWUgc291cmNlIGRv ZXMgbm90LiBBZnRlciBtaWdyYXRlLCB0aGUgcmVmZXJlbmNlX3RzYyBzb3VyY2UKbWF5IGJlY29t ZSBpbnZhbGlkYXRlZCAoZS5nLiBiZWNhdXNlIG9mIGhvc3QgY3B1IGZyZXF1ZW5jeSBtaXNtYXRj aCkgd2hpY2gKd2lsbCBjYXVzZSBXaW5kb3dzIHRvIGZhbGwgYmFjayB0byB0aW1lX3JlZl9jb3Vu dC4gVGh1cywgdGhlIGd1ZXN0IHdpbGwKb2JzZXJ2ZSBhIGp1bXAgaW4gdGltZSBlcXVpdmFsZW50 IHRvIHRoZSBvZmZzZXQuCgpUaGlzIHBhdGNoIHVuaWZpZXMgdGhlIHR3byBlbmxpZ2h0ZW5lZCB0 aW1lIHNvdXJjZXMgc3VjaCB0aGF0IHRoZSBzYW1lCm9mZnNldCBhcHBsaWVzIHRvIGJvdGggb2Yg dGhlbS4gQWxzbywgaXQncyBub3QgcmVhbGx5IG5lY2Vzc2FyeSB0byBoYXZlCnR3byBkaWZmZXJl bnQgZnVuY3Rpb25zIHRvIGNhbGN1bGF0aW5nIGEgMTBNSHogY291bnRlciB2YWx1ZSwgdGltZV9u b3coKSBhbmQKcmF3X3RyY192YWwoKSwgc28gdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBsYXR0ZXIg aW1wbGVtZW50YXRpb24uIFRoZQp1bmlmaWNhdGlvbiBhbHNvIGFsbG93cyByZW1vdmFsIG9mIHRo ZSByZWZlcmVuY2VfdHNjX3ZhbGlkIGZsYWcuCgpXaGlsc3QgaW4gdGhlIGFyZWEsIHRoaXMgcGF0 Y2ggYWxzbyB0YWtlcyB0aGUgb3Bwb3J0dW5pdHkgdG8gY29uc3RpZnkgYSBmZXcKcG9pbnRlcnMg d2hpY2ggd2VyZSBtaXNzZWQgaW4gZWFybGllciBwYXRjaGVzLgoKU2lnbmVkLW9mZi1ieTogUGF1 bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgpDYzogV2VpIExpdSA8d2xAeGVuLm9yZz4KQ2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8 cm9nZXIucGF1QGNpdHJpeC5jb20+Cgp2MjoKIC0gRXhwYW5kIGNvbW1lbnRzIGFib3ZlIG5ld2x5 IGFkZGVkIFRzY09mZnNldCBzZXR0aW5nCi0tLQogeGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi90 aW1lLmMgICB8IDEwNSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vdmlyaWRpYW4uaCB8ICAgMSAtCiAyIGZpbGVzIGNoYW5nZWQsIDQ1IGluc2Vy dGlvbnMoKyksIDYxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0v dmlyaWRpYW4vdGltZS5jIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi90aW1lLmMKaW5kZXgg MmEzYzk2OTdkNy4uMjhlM2Q4OGNhOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92aXJp ZGlhbi90aW1lLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi90aW1lLmMKQEAgLTI2 LDkgKzI2LDEwIEBAIHR5cGVkZWYgc3RydWN0IF9IVl9SRUZFUkVOQ0VfVFNDX1BBR0UKICAgICB1 aW50NjRfdCBSZXNlcnZlZDJbNTA5XTsKIH0gSFZfUkVGRVJFTkNFX1RTQ19QQUdFLCAqUEhWX1JF RkVSRU5DRV9UU0NfUEFHRTsKIAotc3RhdGljIHZvaWQgdXBkYXRlX3JlZmVyZW5jZV90c2Moc3Ry dWN0IGRvbWFpbiAqZCwgYm9vbCBpbml0aWFsaXplKQorc3RhdGljIHZvaWQgdXBkYXRlX3JlZmVy ZW5jZV90c2MoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBpbml0aWFsaXplKQogewogICAg IHN0cnVjdCB2aXJpZGlhbl9kb21haW4gKnZkID0gZC0+YXJjaC5odm0udmlyaWRpYW47CisgICAg Y29uc3Qgc3RydWN0IHZpcmlkaWFuX3RpbWVfcmVmX2NvdW50ICp0cmMgPSAmdmQtPnRpbWVfcmVm X2NvdW50OwogICAgIGNvbnN0IHN0cnVjdCB2aXJpZGlhbl9wYWdlICpydCA9ICZ2ZC0+cmVmZXJl bmNlX3RzYzsKICAgICBIVl9SRUZFUkVOQ0VfVFNDX1BBR0UgKnAgPSBydC0+cHRyOwogICAgIHVp bnQzMl90IHNlcTsKQEAgLTQ0LDcgKzQ1LDkgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3JlZmVyZW5j ZV90c2Moc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBpbml0aWFsaXplKQogICAgICAqIHdpdGggdGhp cywgYWxsb3dpbmcgdnRzYyB0byBiZSB0dXJuZWQgb2ZmLCBidXQgc3VwcG9ydCBmb3IgdGhpcyBp cwogICAgICAqIG5vdCB5ZXQgcHJlc2VudCBpbiB0aGUgaHlwZXJ2aXNvci4gVGh1cyBpcyBpdCBp cyBwb3NzaWJsZSB0aGF0CiAgICAgICogbWlncmF0aW5nIGEgV2luZG93cyBWTSBiZXR3ZWVuIGhv c3RzIG9mIGRpZmZlcmluZyBUU0MgZnJlcXVlbmNpZXMKLSAgICAgKiBtYXkgcmVzdWx0IGluIGxh cmdlIGRpZmZlcmVuY2VzIGluIGd1ZXN0IHBlcmZvcm1hbmNlLgorICAgICAqIG1heSByZXN1bHQg aW4gbGFyZ2UgZGlmZmVyZW5jZXMgaW4gZ3Vlc3QgcGVyZm9ybWFuY2UuIEFueSBqdW1wIGluCisg ICAgICogVFNDIGR1ZSB0byBtaWdyYXRpb24gZG93bi10aW1lIGNhbiwgaG93ZXZlciwgYmUgY29t cGVuc2F0ZWQgZm9yIGJ5CisgICAgICogc2V0dGluZyB0aGUgVHNjT2Zmc2V0IHZhbHVlIChzZWUg YmVsb3cpLgogICAgICAqLwogICAgIGlmICggIWhvc3RfdHNjX2lzX3NhZmUoKSB8fCBkLT5hcmNo LnZ0c2MgKQogICAgIHsKQEAgLTYyLDggKzY1LDYgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3JlZmVy ZW5jZV90c2Moc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBpbml0aWFsaXplKQogCiAgICAgICAgIHBy aW50ayhYRU5MT0dfR19JTkZPICJkJWQ6IFZJUklESUFOIFJFRkVSRU5DRV9UU0M6IGludmFsaWRh dGVkXG4iLAogICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkKTsKLQotICAgICAgICB2ZC0+cmVm ZXJlbmNlX3RzY192YWxpZCA9IGZhbHNlOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC03 NSw4ICs3NiwxMSBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfcmVmZXJlbmNlX3RzYyhzdHJ1Y3QgZG9t YWluICpkLCBib29sIGluaXRpYWxpemUpCiAgICAgICoKICAgICAgKiBXaW5kb3dzIHVzZXMgYSAx MDBucyB0aWNrLCBzbyB3ZSBuZWVkIGEgc2NhbGUgd2hpY2ggaXMgY3B1CiAgICAgICogdGlja3Mg cGVyIDEwMG5zIHNoaWZ0ZWQgbGVmdCBieSA2NC4KKyAgICAgKiBUaGUgb2Zmc2V0IHZhbHVlIGlz IGNhbGN1bGF0ZWQgb24gcmVzdG9yZSBhZnRlciBtaWdyYXRpb24gYW5kCisgICAgICogZW5zdXJl cyB0aGF0IFdpbmRvd3Mgd2lsbCBub3Qgc2VlIGEgbGFyZ2UganVtcCBpbiBSZWZlcmVuY2VUaW1l LgogICAgICAqLwogICAgIHAtPlRzY1NjYWxlID0gKCgxMDAwMHVsIDw8IDMyKSAvIGQtPmFyY2gu dHNjX2toeikgPDwgMzI7CisgICAgcC0+VHNjT2Zmc2V0ID0gdHJjLT5vZmY7CiAgICAgc21wX3dt YigpOwogCiAgICAgc2VxID0gcC0+VHNjU2VxdWVuY2UgKyAxOwpAQCAtODQsNDYgKzg4LDYgQEAg c3RhdGljIHZvaWQgdXBkYXRlX3JlZmVyZW5jZV90c2Moc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBp bml0aWFsaXplKQogICAgICAgICBzZXEgPSAxOwogCiAgICAgcC0+VHNjU2VxdWVuY2UgPSBzZXE7 Ci0gICAgdmQtPnJlZmVyZW5jZV90c2NfdmFsaWQgPSB0cnVlOwotfQotCi1zdGF0aWMgaW50NjRf dCByYXdfdHJjX3ZhbChjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQotewotICAgIHVpbnQ2NF90IHRz YzsKLSAgICBzdHJ1Y3QgdGltZV9zY2FsZSB0c2NfdG9fbnM7Ci0KLSAgICB0c2MgPSBodm1fZ2V0 X2d1ZXN0X3RzYyhwdF9nbG9iYWxfdmNwdV90YXJnZXQoZCkpOwotCi0gICAgLyogY29udmVydCB0 c2MgdG8gY291bnQgb2YgMTAwbnMgcGVyaW9kcyAqLwotICAgIHNldF90aW1lX3NjYWxlKCZ0c2Nf dG9fbnMsIGQtPmFyY2gudHNjX2toeiAqIDEwMDB1bCk7Ci0gICAgcmV0dXJuIHNjYWxlX2RlbHRh KHRzYywgJnRzY190b19ucykgLyAxMDB1bDsKLX0KLQotc3RhdGljIHZvaWQgdGltZV9yZWZfY291 bnRfZnJlZXplKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpCi17Ci0gICAgc3RydWN0IHZpcmlkaWFu X3RpbWVfcmVmX2NvdW50ICp0cmMgPQotICAgICAgICAmZC0+YXJjaC5odm0udmlyaWRpYW4tPnRp bWVfcmVmX2NvdW50OwotCi0gICAgaWYgKCB0ZXN0X2FuZF9jbGVhcl9iaXQoX1RSQ19ydW5uaW5n LCAmdHJjLT5mbGFncykgKQotICAgICAgICB0cmMtPnZhbCA9IHJhd190cmNfdmFsKGQpICsgdHJj LT5vZmY7Ci19Ci0KLXN0YXRpYyB2b2lkIHRpbWVfcmVmX2NvdW50X3RoYXcoY29uc3Qgc3RydWN0 IGRvbWFpbiAqZCkKLXsKLSAgICBzdHJ1Y3QgdmlyaWRpYW5fdGltZV9yZWZfY291bnQgKnRyYyA9 Ci0gICAgICAgICZkLT5hcmNoLmh2bS52aXJpZGlhbi0+dGltZV9yZWZfY291bnQ7Ci0KLSAgICBp ZiAoICFkLT5pc19zaHV0dGluZ19kb3duICYmCi0gICAgICAgICAhdGVzdF9hbmRfc2V0X2JpdChf VFJDX3J1bm5pbmcsICZ0cmMtPmZsYWdzKSApCi0gICAgICAgIHRyYy0+b2ZmID0gKGludDY0X3Qp dHJjLT52YWwgLSByYXdfdHJjX3ZhbChkKTsKLX0KLQotc3RhdGljIGludDY0X3QgdGltZV9yZWZf Y291bnQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCkKLXsKLSAgICBzdHJ1Y3QgdmlyaWRpYW5fdGlt ZV9yZWZfY291bnQgKnRyYyA9Ci0gICAgICAgICZkLT5hcmNoLmh2bS52aXJpZGlhbi0+dGltZV9y ZWZfY291bnQ7Ci0KLSAgICByZXR1cm4gcmF3X3RyY192YWwoZCkgKyB0cmMtPm9mZjsKIH0KIAog LyoKQEAgLTEzNiw3ICsxMDAsNyBAQCBzdGF0aWMgaW50NjRfdCB0aW1lX3JlZl9jb3VudChjb25z dCBzdHJ1Y3QgZG9tYWluICpkKQogICogMTI4IGJpdCBudW1iZXIgd2hpY2ggaXMgdGhlbiBzaGlm dGVkIDY0IHRpbWVzIHRvIHRoZSByaWdodCB0byBvYnRhaW4KICAqIHRoZSBoaWdoIDY0IGJpdHMu IgogICovCi1zdGF0aWMgdWludDY0X3Qgc2NhbGVfdHNjKHVpbnQ2NF90IHRzYywgdWludDY0X3Qg c2NhbGUsIHVpbnQ2NF90IG9mZnNldCkKK3N0YXRpYyB1aW50NjRfdCBzY2FsZV90c2ModWludDY0 X3QgdHNjLCB1aW50NjRfdCBzY2FsZSwgaW50NjRfdCBvZmZzZXQpCiB7CiAgICAgdWludDY0X3Qg cmVzdWx0OwogCkBAIC0xNTMsMjIgKzExNyw0NiBAQCBzdGF0aWMgdWludDY0X3Qgc2NhbGVfdHNj KHVpbnQ2NF90IHRzYywgdWludDY0X3Qgc2NhbGUsIHVpbnQ2NF90IG9mZnNldCkKICAgICByZXR1 cm4gcmVzdWx0ICsgb2Zmc2V0OwogfQogCi1zdGF0aWMgdWludDY0X3QgdGltZV9ub3coc3RydWN0 IGRvbWFpbiAqZCkKK3N0YXRpYyB1aW50NjRfdCB0cmNfdmFsKGNvbnN0IHN0cnVjdCBkb21haW4g KmQsIGludDY0X3Qgb2Zmc2V0KQogewogICAgIHVpbnQ2NF90IHRzYywgc2NhbGU7CiAKLSAgICAv KgotICAgICAqIElmIHRoZSByZWZlcmVuY2UgVFNDIHBhZ2UgaXMgbm90IGVuYWJsZWQsIG9yIGhh cyBiZWVuIGludmFsaWRhdGVkCi0gICAgICogZmFsbCBiYWNrIHRvIHRoZSBwYXJ0aXRpb24gcmVm ZXJlbmNlIGNvdW50ZXIuCi0gICAgICovCi0gICAgaWYgKCAhZC0+YXJjaC5odm0udmlyaWRpYW4t PnJlZmVyZW5jZV90c2NfdmFsaWQgKQotICAgICAgICByZXR1cm4gdGltZV9yZWZfY291bnQoZCk7 Ci0KLSAgICAvKiBPdGhlcndpc2UgY29tcHV0ZSByZWZlcmVuY2UgdGltZSBpbiB0aGUgc2FtZSB3 YXkgdGhlIGd1ZXN0IHdvdWxkICovCiAgICAgdHNjID0gaHZtX2dldF9ndWVzdF90c2MocHRfZ2xv YmFsX3ZjcHVfdGFyZ2V0KGQpKTsKICAgICBzY2FsZSA9ICgoMTAwMDB1bCA8PCAzMikgLyBkLT5h cmNoLnRzY19raHopIDw8IDMyOwogCi0gICAgcmV0dXJuIHNjYWxlX3RzYyh0c2MsIHNjYWxlLCAw KTsKKyAgICByZXR1cm4gc2NhbGVfdHNjKHRzYywgc2NhbGUsIG9mZnNldCk7Cit9CisKK3N0YXRp YyB2b2lkIHRpbWVfcmVmX2NvdW50X2ZyZWV6ZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQorewor ICAgIHN0cnVjdCB2aXJpZGlhbl90aW1lX3JlZl9jb3VudCAqdHJjID0KKyAgICAgICAgJmQtPmFy Y2guaHZtLnZpcmlkaWFuLT50aW1lX3JlZl9jb3VudDsKKworICAgIGlmICggdGVzdF9hbmRfY2xl YXJfYml0KF9UUkNfcnVubmluZywgJnRyYy0+ZmxhZ3MpICkKKyAgICAgICAgdHJjLT52YWwgPSB0 cmNfdmFsKGQsIHRyYy0+b2ZmKTsKK30KKworc3RhdGljIHZvaWQgdGltZV9yZWZfY291bnRfdGhh dyhjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIHN0cnVjdCB2aXJpZGlhbl9kb21haW4g KnZkID0gZC0+YXJjaC5odm0udmlyaWRpYW47CisgICAgc3RydWN0IHZpcmlkaWFuX3RpbWVfcmVm X2NvdW50ICp0cmMgPSAmdmQtPnRpbWVfcmVmX2NvdW50OworCisgICAgaWYgKCBkLT5pc19zaHV0 dGluZ19kb3duIHx8CisgICAgICAgICB0ZXN0X2FuZF9zZXRfYml0KF9UUkNfcnVubmluZywgJnRy Yy0+ZmxhZ3MpICkKKyAgICAgICAgcmV0dXJuOworCisgICAgdHJjLT5vZmYgPSAoaW50NjRfdCl0 cmMtPnZhbCAtIHRyY192YWwoZCwgMCk7CisKKyAgICBpZiAoIHZkLT5yZWZlcmVuY2VfdHNjLm1z ci5lbmFibGVkICkKKyAgICAgICAgdXBkYXRlX3JlZmVyZW5jZV90c2MoZCwgZmFsc2UpOworfQor CitzdGF0aWMgaW50NjRfdCB0aW1lX3JlZl9jb3VudChjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQor eworICAgIGNvbnN0IHN0cnVjdCB2aXJpZGlhbl90aW1lX3JlZl9jb3VudCAqdHJjID0KKyAgICAg ICAgJmQtPmFyY2guaHZtLnZpcmlkaWFuLT50aW1lX3JlZl9jb3VudDsKKworICAgIHJldHVybiB0 cmNfdmFsKGQsIHRyYy0+b2ZmKTsKIH0KIAogc3RhdGljIHZvaWQgc3RvcF9zdGltZXIoc3RydWN0 IHZpcmlkaWFuX3N0aW1lciAqdnMpCkBAIC0xOTYsNyArMTg0LDcgQEAgc3RhdGljIHZvaWQgc3Rh cnRfc3RpbWVyKHN0cnVjdCB2aXJpZGlhbl9zdGltZXIgKnZzKQogICAgIGNvbnN0IHN0cnVjdCB2 Y3B1ICp2ID0gdnMtPnY7CiAgICAgc3RydWN0IHZpcmlkaWFuX3ZjcHUgKnZ2ID0gdi0+YXJjaC5o dm0udmlyaWRpYW47CiAgICAgdW5zaWduZWQgaW50IHN0aW1lcnggPSB2cyAtICZ2di0+c3RpbWVy WzBdOwotICAgIGludDY0X3Qgbm93ID0gdGltZV9ub3codi0+ZG9tYWluKTsKKyAgICBpbnQ2NF90 IG5vdyA9IHRpbWVfcmVmX2NvdW50KHYtPmRvbWFpbik7CiAgICAgaW50NjRfdCBleHBpcmF0aW9u OwogICAgIHNfdGltZV90IHRpbWVvdXQ7CiAKQEAgLTI4NSw3ICsyNzMsNyBAQCBzdGF0aWMgdm9p ZCBwb2xsX3N0aW1lcihzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHN0aW1lcngpCiAKICAg ICBpZiAoICF2aXJpZGlhbl9zeW5pY19kZWxpdmVyX3RpbWVyX21zZyh2LCB2cy0+Y29uZmlnLnNp bnR4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0aW1lcngs IHZzLT5leHBpcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRpbWVfbm93KHYtPmRvbWFpbikpICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aW1lX3JlZl9jb3VudCh2LT5kb21haW4pKSApCiAgICAgICAgIHJldHVy bjsKIAogICAgIGNsZWFyX2JpdChzdGltZXJ4LCAmdnYtPnN0aW1lcl9wZW5kaW5nKTsKQEAgLTY0 MSwxMCArNjI5LDcgQEAgdm9pZCB2aXJpZGlhbl90aW1lX2xvYWRfZG9tYWluX2N0eHQoCiAgICAg dmQtPnJlZmVyZW5jZV90c2MubXNyLnJhdyA9IGN0eHQtPnJlZmVyZW5jZV90c2M7CiAKICAgICBp ZiAoIHZkLT5yZWZlcmVuY2VfdHNjLm1zci5lbmFibGVkICkKLSAgICB7CiAgICAgICAgIHZpcmlk aWFuX21hcF9ndWVzdF9wYWdlKGQsICZ2ZC0+cmVmZXJlbmNlX3RzYyk7Ci0gICAgICAgIHVwZGF0 ZV9yZWZlcmVuY2VfdHNjKGQsIGZhbHNlKTsKLSAgICB9CiB9CiAKIC8qCmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aXJpZGlhbi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9o dm0vdmlyaWRpYW4uaAppbmRleCA1NGU0NmNjNGM0Li4wMTBjOGI1OGQ0IDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aXJpZGlhbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL3ZpcmlkaWFuLmgKQEAgLTExNiw3ICsxMTYsNiBAQCBzdHJ1Y3QgdmlyaWRpYW5fZG9t YWluCiAgICAgdW5pb24gdmlyaWRpYW5fcGFnZV9tc3IgaHlwZXJjYWxsX2dwYTsKICAgICBzdHJ1 Y3QgdmlyaWRpYW5fdGltZV9yZWZfY291bnQgdGltZV9yZWZfY291bnQ7CiAgICAgc3RydWN0IHZp cmlkaWFuX3BhZ2UgcmVmZXJlbmNlX3RzYzsKLSAgICBib29sIHJlZmVyZW5jZV90c2NfdmFsaWQ7 CiB9OwogCiB2b2lkIGNwdWlkX3ZpcmlkaWFuX2xlYXZlcyhjb25zdCBzdHJ1Y3QgdmNwdSAqdiwg dWludDMyX3QgbGVhZiwKLS0gCjIuMjAuMS4yLmdiMjFlYmI2NzEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs