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=-9.8 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 D43F9C433FF for ; Fri, 9 Aug 2019 14:59:25 +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 A4779208C4 for ; Fri, 9 Aug 2019 14:59:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A4779208C4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.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 1hw6MJ-0007D0-Jc; Fri, 09 Aug 2019 14:59:11 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hw6M3-0006dj-Et for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 14:58:55 +0000 X-Inumbo-ID: 3145821f-bab6-11e9-8980-bc764e045a96 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 3145821f-bab6-11e9-8980-bc764e045a96; Fri, 09 Aug 2019 14:58:49 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 3218EB0E6; Fri, 9 Aug 2019 14:58:47 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Fri, 9 Aug 2019 16:58:12 +0200 Message-Id: <20190809145833.1020-28-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190809145833.1020-1-jgross@suse.com> References: <20190809145833.1020-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v2 27/48] xen/sched: Change vcpu_migrate_*() to operate on schedule unit 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: Juergen Gross , George Dunlap , Dario Faggioli MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Tm93IHRoYXQgdmNwdV9taWdyYXRlX3N0YXJ0KCkgYW5kIHZjcHVfbWlncmF0ZV9maW5pc2goKSBh cmUgdXNlZCBvbmx5CnRvIGVuc3VyZSBhIHZjcHUgaXMgcnVubmluZyBvbiBhIHN1aXRhYmxlIHBy b2Nlc3NvciB0aGV5IGNhbiBiZQpzd2l0Y2hlZCB0byBvcGVyYXRlIG9uIHNjaGVkdWxlIHVuaXRz IGluc3RlYWQgb2YgdmNwdXMuCgpXaGlsZSBkb2luZyB0aGF0IHJlbmFtZSB0aGVtIGFjY29yZGlu Z2x5IGFuZCBtYWtlIHRoZSBfc3RhcnQoKSB2YXJpYW50CnN0YXRpYy4gQXMgaXQgaXMgbmVlZGVk IGFueXdheSBjYWxsIHZjcHVfc3luY19leGVjc3RhdGUoKSBmb3IgZWFjaAp2Y3B1IG9mIHRoZSB1 bml0IHdoZW4gY2hhbmdpbmcgcHJvY2Vzc29ycy4KCnZjcHVfbW92ZV9sb2NrZWQoKSBpcyBzd2l0 Y2hlZCB0byBzY2hlZHVsZSB1bml0LCB0b28uCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3Nz IDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jIHwgMTA2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IDRjNDg4ZGRk ZTAuLmU0ZDBkZDRiNjUgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysgYi94 ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTczMywzNSArNzMzLDQwIEBAIHZvaWQgdmNwdV91bmJs b2NrKHN0cnVjdCB2Y3B1ICp2KQogfQogCiAvKgotICogRG8gdGhlIGFjdHVhbCBtb3ZlbWVudCBv ZiBhIHZjcHUgZnJvbSBvbGQgdG8gbmV3IENQVS4gTG9ja3MgZm9yICpib3RoKgorICogRG8gdGhl IGFjdHVhbCBtb3ZlbWVudCBvZiBhbiB1bml0IGZyb20gb2xkIHRvIG5ldyBDUFUuIExvY2tzIGZv ciAqYm90aCoKICAqIENQVXMgbmVlZHMgdG8gaGF2ZSBiZWVuIHRha2VuIGFscmVhZHkgd2hlbiBj YWxsaW5nIHRoaXMhCiAgKi8KLXN0YXRpYyB2b2lkIHZjcHVfbW92ZV9sb2NrZWQoc3RydWN0IHZj cHUgKnYsIHVuc2lnbmVkIGludCBuZXdfY3B1KQorc3RhdGljIHZvaWQgc2NoZWRfdW5pdF9tb3Zl X2xvY2tlZChzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IG5ld19jcHUpCiB7Ci0gICAgdW5zaWduZWQgaW50IG9s ZF9jcHUgPSB2LT5wcm9jZXNzb3I7CisgICAgdW5zaWduZWQgaW50IG9sZF9jcHUgPSB1bml0LT5y ZXMtPnByb2Nlc3NvcjsKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKIAogICAgIC8qCiAgICAgICogVHJh bnNmZXIgdXJnZW5jeSBzdGF0dXMgdG8gbmV3IENQVSBiZWZvcmUgc3dpdGNoaW5nIENQVXMsIGFz CiAgICAgICogb25jZSB0aGUgc3dpdGNoIG9jY3Vycywgdi0+aXNfdXJnZW50IGlzIG5vIGxvbmdl ciBwcm90ZWN0ZWQgYnkKICAgICAgKiB0aGUgcGVyLUNQVSBzY2hlZHVsZXIgbG9jayB3ZSBhcmUg aG9sZGluZy4KICAgICAgKi8KLSAgICBpZiAoIHVubGlrZWx5KHYtPmlzX3VyZ2VudCkgJiYgKG9s ZF9jcHUgIT0gbmV3X2NwdSkgKQorICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRfdmNwdSAoIHVuaXQs IHYgKQogICAgIHsKLSAgICAgICAgYXRvbWljX2luYygmZ2V0X3NjaGVkX3JlcyhuZXdfY3B1KS0+ dXJnZW50X2NvdW50KTsKLSAgICAgICAgYXRvbWljX2RlYygmZ2V0X3NjaGVkX3JlcyhvbGRfY3B1 KS0+dXJnZW50X2NvdW50KTsKKyAgICAgICAgaWYgKCB1bmxpa2VseSh2LT5pc191cmdlbnQpICYm IChvbGRfY3B1ICE9IG5ld19jcHUpICkKKyAgICAgICAgeworICAgICAgICAgICAgYXRvbWljX2lu YygmZ2V0X3NjaGVkX3JlcyhuZXdfY3B1KS0+dXJnZW50X2NvdW50KTsKKyAgICAgICAgICAgIGF0 b21pY19kZWMoJmdldF9zY2hlZF9yZXMob2xkX2NwdSktPnVyZ2VudF9jb3VudCk7CisgICAgICAg IH0KICAgICB9CiAKICAgICAvKgogICAgICAqIEFjdHVhbCBDUFUgc3dpdGNoIHRvIG5ldyBDUFUu ICBUaGlzIGlzIHNhZmUgYmVjYXVzZSB0aGUgbG9jawogICAgICAqIHBvaW50ZXIgY2FuJ3QgY2hh bmdlIHdoaWxlIHRoZSBjdXJyZW50IGxvY2sgaXMgaGVsZC4KICAgICAgKi8KLSAgICBzY2hlZF9t aWdyYXRlKHZjcHVfc2NoZWR1bGVyKHYpLCB2LT5zY2hlZF91bml0LCBuZXdfY3B1KTsKKyAgICBz Y2hlZF9taWdyYXRlKHVuaXRfc2NoZWR1bGVyKHVuaXQpLCB1bml0LCBuZXdfY3B1KTsKIH0KIAog LyoKICAqIEluaXRpYXRpbmcgbWlncmF0aW9uCiAgKgotICogSW4gb3JkZXIgdG8gbWlncmF0ZSwg d2UgbmVlZCB0aGUgdmNwdSBpbiBxdWVzdGlvbiB0byBoYXZlIHN0b3BwZWQKKyAqIEluIG9yZGVy IHRvIG1pZ3JhdGUsIHdlIG5lZWQgdGhlIHVuaXQgaW4gcXVlc3Rpb24gdG8gaGF2ZSBzdG9wcGVk CiAgKiBydW5uaW5nIGFuZCBoYWQgc2NoZWRfc2xlZXAoKSBjYWxsZWQgKHRvIHRha2UgaXQgb2Zm IGFueQogICogcnVucXVldWVzLCBmb3IgaW5zdGFuY2UpOyBhbmQgaWYgaXQgaXMgY3VycmVudGx5 IHJ1bm5pbmcsIGl0IG5lZWRzCiAgKiB0byBiZSBzY2hlZHVsZWQgb3V0LiAgRmluYWxseSwgd2Ug bmVlZCB0byBob2xkIHRoZSBzY2hlZHVsaW5nIGxvY2tzCkBAIC03NzcsMzcgKzc4Miw0NSBAQCBz dGF0aWMgdm9pZCB2Y3B1X21vdmVfbG9ja2VkKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQg bmV3X2NwdSkKICAqIHNob3VsZCBiZSBjYWxsZWQgbGlrZSB0aGlzOgogICoKICAqICAgICBsb2Nr ID0gdW5pdF9zY2hlZHVsZV9sb2NrX2lycSh1bml0KTsKLSAqICAgICB2Y3B1X21pZ3JhdGVfc3Rh cnQodik7CisgKiAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0KHVuaXQpOwogICogICAgIHVu aXRfc2NoZWR1bGVfdW5sb2NrX2lycShsb2NrLCB1bml0KQotICogICAgIHZjcHVfbWlncmF0ZV9m aW5pc2godik7CisgKiAgICAgc2NoZWRfdW5pdF9taWdyYXRlX2ZpbmlzaCh1bml0KTsKICAqCi0g KiB2Y3B1X21pZ3JhdGVfZmluaXNoKCkgd2lsbCBkbyB0aGUgd29yayBub3cgaWYgaXQgY2FuLCBv ciBzaW1wbHkKLSAqIHJldHVybiBpZiBpdCBjYW4ndCAoYmVjYXVzZSB2IGlzIHN0aWxsIHJ1bm5p bmcpOyBpbiB0aGF0IGNhc2UKLSAqIHZjcHVfbWlncmF0ZV9maW5pc2goKSB3aWxsIGJlIGNhbGxl ZCBieSBjb250ZXh0X3NhdmVkKCkuCisgKiBzY2hlZF91bml0X21pZ3JhdGVfZmluaXNoKCkgd2ls bCBkbyB0aGUgd29yayBub3cgaWYgaXQgY2FuLCBvciBzaW1wbHkKKyAqIHJldHVybiBpZiBpdCBj YW4ndCAoYmVjYXVzZSB1bml0IGlzIHN0aWxsIHJ1bm5pbmcpOyBpbiB0aGF0IGNhc2UKKyAqIHNj aGVkX3VuaXRfbWlncmF0ZV9maW5pc2goKSB3aWxsIGJlIGNhbGxlZCBieSBjb250ZXh0X3NhdmVk KCkuCiAgKi8KLXN0YXRpYyB2b2lkIHZjcHVfbWlncmF0ZV9zdGFydChzdHJ1Y3QgdmNwdSAqdikK K3N0YXRpYyB2b2lkIHNjaGVkX3VuaXRfbWlncmF0ZV9zdGFydChzdHJ1Y3Qgc2NoZWRfdW5pdCAq dW5pdCkKIHsKLSAgICBzZXRfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2VfZmxhZ3MpOwot ICAgIHZjcHVfc2xlZXBfbm9zeW5jX2xvY2tlZCh2KTsKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKKwor ICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRfdmNwdSAoIHVuaXQsIHYgKQorICAgIHsKKyAgICAgICAg c2V0X2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKTsKKyAgICAgICAgdmNwdV9z bGVlcF9ub3N5bmNfbG9ja2VkKHYpOworICAgIH0KIH0KIAotc3RhdGljIHZvaWQgdmNwdV9taWdy YXRlX2ZpbmlzaChzdHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2b2lkIHNjaGVkX3VuaXRfbWlncmF0 ZV9maW5pc2goc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBm bGFnczsKICAgICB1bnNpZ25lZCBpbnQgb2xkX2NwdSwgbmV3X2NwdTsKICAgICBzcGlubG9ja190 ICpvbGRfbG9jaywgKm5ld19sb2NrOwogICAgIGJvb2xfdCBwaWNrX2NhbGxlZCA9IDA7CisgICAg c3RydWN0IHZjcHUgKnY7CiAKICAgICAvKgotICAgICAqIElmIHRoZSB2Y3B1IGlzIGN1cnJlbnRs eSBydW5uaW5nLCB0aGlzIHdpbGwgYmUgaGFuZGxlZCBieQorICAgICAqIElmIHRoZSB1bml0IGlz IGN1cnJlbnRseSBydW5uaW5nLCB0aGlzIHdpbGwgYmUgaGFuZGxlZCBieQogICAgICAqIGNvbnRl eHRfc2F2ZWQoKTsgYW5kIGluIGFueSBjYXNlLCBpZiB0aGUgYml0IGlzIGNsZWFyZWQsIHRoZW4K ICAgICAgKiBzb21lb25lIGVsc2UgaGFzIGFscmVhZHkgZG9uZSB0aGUgd29yayBzbyB3ZSBkb24n dCBuZWVkIHRvLgogICAgICAqLwotICAgIGlmICggdi0+c2NoZWRfdW5pdC0+aXNfcnVubmluZyB8 fAotICAgICAgICAgIXRlc3RfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2VfZmxhZ3MpICkK LSAgICAgICAgcmV0dXJuOworICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRfdmNwdSAoIHVuaXQsIHYg KQorICAgIHsKKyAgICAgICAgaWYgKCB1bml0LT5pc19ydW5uaW5nIHx8ICF0ZXN0X2JpdChfVlBG X21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKSApCisgICAgICAgICAgICByZXR1cm47CisgICAg fQogCi0gICAgb2xkX2NwdSA9IG5ld19jcHUgPSB2LT5wcm9jZXNzb3I7CisgICAgb2xkX2NwdSA9 IG5ld19jcHUgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKICAgICBmb3IgKCA7IDsgKQogICAgIHsK ICAgICAgICAgLyoKQEAgLTgyMCw3ICs4MzMsNyBAQCBzdGF0aWMgdm9pZCB2Y3B1X21pZ3JhdGVf ZmluaXNoKHN0cnVjdCB2Y3B1ICp2KQogCiAgICAgICAgIHNjaGVkX3NwaW5fbG9ja19kb3VibGUo b2xkX2xvY2ssIG5ld19sb2NrLCAmZmxhZ3MpOwogCi0gICAgICAgIG9sZF9jcHUgPSB2LT5wcm9j ZXNzb3I7CisgICAgICAgIG9sZF9jcHUgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKICAgICAgICAg aWYgKCBvbGRfbG9jayA9PSBnZXRfc2NoZWRfcmVzKG9sZF9jcHUpLT5zY2hlZHVsZV9sb2NrICkK ICAgICAgICAgewogICAgICAgICAgICAgLyoKQEAgLTgyOSwxNSArODQyLDE1IEBAIHN0YXRpYyB2 b2lkIHZjcHVfbWlncmF0ZV9maW5pc2goc3RydWN0IHZjcHUgKnYpCiAgICAgICAgICAgICAgKi8K ICAgICAgICAgICAgIGlmICggcGlja19jYWxsZWQgJiYKICAgICAgICAgICAgICAgICAgKG5ld19s b2NrID09IGdldF9zY2hlZF9yZXMobmV3X2NwdSktPnNjaGVkdWxlX2xvY2spICYmCi0gICAgICAg ICAgICAgICAgIGNwdW1hc2tfdGVzdF9jcHUobmV3X2NwdSwgdi0+c2NoZWRfdW5pdC0+Y3B1X2hh cmRfYWZmaW5pdHkpICYmCi0gICAgICAgICAgICAgICAgIGNwdW1hc2tfdGVzdF9jcHUobmV3X2Nw dSwgdi0+ZG9tYWluLT5jcHVwb29sLT5jcHVfdmFsaWQpICkKKyAgICAgICAgICAgICAgICAgY3B1 bWFza190ZXN0X2NwdShuZXdfY3B1LCB1bml0LT5jcHVfaGFyZF9hZmZpbml0eSkgJiYKKyAgICAg ICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB1bml0LT5kb21haW4tPmNwdXBv b2wtPmNwdV92YWxpZCkgKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICAv KiBTZWxlY3QgYSBuZXcgQ1BVLiAqLwotICAgICAgICAgICAgbmV3X2NwdSA9IHNjaGVkX3BpY2tf cmVzb3VyY2UodmNwdV9zY2hlZHVsZXIodiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2LT5zY2hlZF91bml0KS0+cHJvY2Vzc29yOworICAgICAgICAgICAgbmV3 X2NwdSA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodW5pdF9zY2hlZHVsZXIodW5pdCksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0KS0+cHJvY2Vzc29yOwogICAg ICAgICAgICAgaWYgKCAobmV3X2xvY2sgPT0gZ2V0X3NjaGVkX3JlcyhuZXdfY3B1KS0+c2NoZWR1 bGVfbG9jaykgJiYKLSAgICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB2 LT5kb21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQorICAgICAgICAgICAgICAgICBjcHVtYXNr X3Rlc3RfY3B1KG5ld19jcHUsIHVuaXQtPmRvbWFpbi0+Y3B1cG9vbC0+Y3B1X3ZhbGlkKSApCiAg ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBwaWNrX2NhbGxlZCA9IDE7CiAgICAg ICAgIH0KQEAgLTg1OCwyMiArODcxLDMwIEBAIHN0YXRpYyB2b2lkIHZjcHVfbWlncmF0ZV9maW5p c2goc3RydWN0IHZjcHUgKnYpCiAgICAgICogYmVjYXVzZSB0aGV5IGJvdGggaGFwcGVuIGluIChk aWZmZXJlbnQpIHNwaW5sb2NrIHJlZ2lvbnMsIGFuZCB0aG9zZQogICAgICAqIHJlZ2lvbnMgYXJl IHN0cmljdGx5IHNlcmlhbGlzZWQuCiAgICAgICovCi0gICAgaWYgKCB2LT5zY2hlZF91bml0LT5p c19ydW5uaW5nIHx8Ci0gICAgICAgICAhdGVzdF9hbmRfY2xlYXJfYml0KF9WUEZfbWlncmF0aW5n LCAmdi0+cGF1c2VfZmxhZ3MpICkKKyAgICBmb3JfZWFjaF9zY2hlZF91bml0X3ZjcHUgKCB1bml0 LCB2ICkKICAgICB7Ci0gICAgICAgIHNjaGVkX3NwaW5fdW5sb2NrX2RvdWJsZShvbGRfbG9jaywg bmV3X2xvY2ssIGZsYWdzKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoIHVuaXQtPmlz X3J1bm5pbmcgfHwKKyAgICAgICAgICAgICAhdGVzdF9hbmRfY2xlYXJfYml0KF9WUEZfbWlncmF0 aW5nLCAmdi0+cGF1c2VfZmxhZ3MpICkKKyAgICAgICAgeworICAgICAgICAgICAgc2NoZWRfc3Bp bl91bmxvY2tfZG91YmxlKG9sZF9sb2NrLCBuZXdfbG9jaywgZmxhZ3MpOworICAgICAgICAgICAg cmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgdmNwdV9tb3ZlX2xvY2tlZCh2LCBuZXdf Y3B1KTsKKyAgICBzY2hlZF91bml0X21vdmVfbG9ja2VkKHVuaXQsIG5ld19jcHUpOwogCiAgICAg c2NoZWRfc3Bpbl91bmxvY2tfZG91YmxlKG9sZF9sb2NrLCBuZXdfbG9jaywgZmxhZ3MpOwogCiAg ICAgaWYgKCBvbGRfY3B1ICE9IG5ld19jcHUgKQotICAgICAgICBzY2hlZF9tb3ZlX2lycXModi0+ c2NoZWRfdW5pdCk7CisgICAgeworICAgICAgICBmb3JfZWFjaF9zY2hlZF91bml0X3ZjcHUgKCB1 bml0LCB2ICkKKyAgICAgICAgICAgIHN5bmNfdmNwdV9leGVjc3RhdGUodik7CisgICAgICAgIHNj aGVkX21vdmVfaXJxcyh1bml0KTsKKyAgICB9CiAKICAgICAvKiBXYWtlIG9uIG5ldyBDUFUuICov Ci0gICAgdmNwdV93YWtlKHYpOworICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRfdmNwdSAoIHVuaXQs IHYgKQorICAgICAgICB2Y3B1X3dha2Uodik7CiB9CiAKIC8qCkBAIC0xMDQxLDEwICsxMDYyLDkg QEAgaW50IGNwdV9kaXNhYmxlX3NjaGVkdWxlcih1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAg ICAgICogICogdGhlIHNjaGVkdWxlciB3aWxsIGFsd2F5cyBmaW5kIGEgc3VpdGFibGUgc29sdXRp b24sIG9yCiAgICAgICAgICAgICAgKiAgICB0aGluZ3Mgd291bGQgaGF2ZSBmYWlsZWQgYmVmb3Jl IGdldHRpbmcgaW4gaGVyZS4KICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgdmNwdV9taWdy YXRlX3N0YXJ0KHVuaXQtPnZjcHVfbGlzdCk7CisgICAgICAgICAgICBzY2hlZF91bml0X21pZ3Jh dGVfc3RhcnQodW5pdCk7CiAgICAgICAgICAgICB1bml0X3NjaGVkdWxlX3VubG9ja19pcnFyZXN0 b3JlKGxvY2ssIGZsYWdzLCB1bml0KTsKLQotICAgICAgICAgICAgdmNwdV9taWdyYXRlX2Zpbmlz aCh1bml0LT52Y3B1X2xpc3QpOworICAgICAgICAgICAgc2NoZWRfdW5pdF9taWdyYXRlX2Zpbmlz aCh1bml0KTsKIAogICAgICAgICAgICAgLyoKICAgICAgICAgICAgICAqIFRoZSBvbmx5IGNhdmVh dCwgaW4gdGhpcyBjYXNlLCBpcyB0aGF0IGlmIGEgdmNwdSBhY3RpdmUgaW4KQEAgLTExMjgsMTQg KzExNDgsMTQgQEAgc3RhdGljIGludCB2Y3B1X3NldF9hZmZpbml0eSgKICAgICAgICAgICAgIEFT U0VSVCh3aGljaCA9PSB1bml0LT5jcHVfc29mdF9hZmZpbml0eSk7CiAgICAgICAgICAgICBzY2hl ZF9zZXRfYWZmaW5pdHkodiwgTlVMTCwgYWZmaW5pdHkpOwogICAgICAgICB9Ci0gICAgICAgIHZj cHVfbWlncmF0ZV9zdGFydCh2KTsKKyAgICAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0KHVu aXQpOwogICAgIH0KIAogICAgIHVuaXRfc2NoZWR1bGVfdW5sb2NrX2lycShsb2NrLCB1bml0KTsK IAogICAgIGRvbWFpbl91cGRhdGVfbm9kZV9hZmZpbml0eSh2LT5kb21haW4pOwogCi0gICAgdmNw dV9taWdyYXRlX2ZpbmlzaCh2KTsKKyAgICBzY2hlZF91bml0X21pZ3JhdGVfZmluaXNoKHVuaXQp OwogCiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTEzOTYsMTIgKzE0MTYsMTIgQEAgaW50IHZjcHVf dGVtcG9yYXJ5X2FmZmluaXR5KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgY3B1LCB1aW50 OF90IHJlYXNvbikKIAogICAgIG1pZ3JhdGUgPSAhcmV0ICYmICFjcHVtYXNrX3Rlc3RfY3B1KHYt PnByb2Nlc3NvciwgdW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpOwogICAgIGlmICggbWlncmF0ZSAp Ci0gICAgICAgIHZjcHVfbWlncmF0ZV9zdGFydCh2KTsKKyAgICAgICAgc2NoZWRfdW5pdF9taWdy YXRlX3N0YXJ0KHVuaXQpOwogCiAgICAgdW5pdF9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVu aXQpOwogCiAgICAgaWYgKCBtaWdyYXRlICkKLSAgICAgICAgdmNwdV9taWdyYXRlX2ZpbmlzaCh2 KTsKKyAgICAgICAgc2NoZWRfdW5pdF9taWdyYXRlX2ZpbmlzaCh1bml0KTsKIAogICAgIHJldHVy biByZXQ7CiB9CkBAIC0xNzk0LDcgKzE4MTQsNyBAQCB2b2lkIGNvbnRleHRfc2F2ZWQoc3RydWN0 IHZjcHUgKnByZXYpCiAKICAgICBzY2hlZF9jb250ZXh0X3NhdmVkKHZjcHVfc2NoZWR1bGVyKHBy ZXYpLCBwcmV2LT5zY2hlZF91bml0KTsKIAotICAgIHZjcHVfbWlncmF0ZV9maW5pc2gocHJldik7 CisgICAgc2NoZWRfdW5pdF9taWdyYXRlX2ZpbmlzaChwcmV2LT5zY2hlZF91bml0KTsKIH0KIAog LyogVGhlIHNjaGVkdWxlciB0aW1lcjogZm9yY2UgYSBydW4gdGhyb3VnaCB0aGUgc2NoZWR1bGVy ICovCi0tIAoyLjE2LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0 Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRl dmVs