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=-10.0 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 8DF3FC49ED6 for ; Sat, 14 Sep 2019 08:53:29 +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 5E51120717 for ; Sat, 14 Sep 2019 08:53:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5E51120717 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 1i93nz-0007ip-Hl; Sat, 14 Sep 2019 08:53:19 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i93nx-0007hb-Ui for xen-devel@lists.xenproject.org; Sat, 14 Sep 2019 08:53:17 +0000 X-Inumbo-ID: 1028a15a-d6cd-11e9-978d-bc764e2007e4 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 1028a15a-d6cd-11e9-978d-bc764e2007e4; Sat, 14 Sep 2019 08:53:04 +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 A217BB670; Sat, 14 Sep 2019 08:53:02 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Sat, 14 Sep 2019 10:52:30 +0200 Message-Id: <20190914085251.18816-27-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190914085251.18816-1-jgross@suse.com> References: <20190914085251.18816-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v3 26/47] 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+Ci0tLQpWMzoKLSBtb3ZlIHRlc3RlZCBpbnZhcmlhbnQgY29uZGl0 aW9uIG91dCBvZiBsb29wIChKYW4gQmV1bGljaCkKLSBhZGQgY29tbWVudCByZWdhcmRpbmcgY2Fs bCBvZiB2Y3B1X3N5bmNfZXhlY3N0YXRlKCkgKEphbiBCZXVsaWNoKQotLS0KIHhlbi9jb21tb24v c2NoZWR1bGUuYyB8IDEwNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24vc2No ZWR1bGUuYwppbmRleCAwYmQ5ZjBkMjc4Li43MDI3MWNkZWEyIDEwMDY0NAotLS0gYS94ZW4vY29t bW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBAIC03NDQsMzUgKzc0 NCw0MCBAQCB2b2lkIHZjcHVfdW5ibG9jayhzdHJ1Y3QgdmNwdSAqdikKIH0KIAogLyoKLSAqIERv IHRoZSBhY3R1YWwgbW92ZW1lbnQgb2YgYSB2Y3B1IGZyb20gb2xkIHRvIG5ldyBDUFUuIExvY2tz IGZvciAqYm90aCoKKyAqIERvIHRoZSBhY3R1YWwgbW92ZW1lbnQgb2YgYW4gdW5pdCBmcm9tIG9s ZCB0byBuZXcgQ1BVLiBMb2NrcyBmb3IgKmJvdGgqCiAgKiBDUFVzIG5lZWRzIHRvIGhhdmUgYmVl biB0YWtlbiBhbHJlYWR5IHdoZW4gY2FsbGluZyB0aGlzIQogICovCi1zdGF0aWMgdm9pZCB2Y3B1 X21vdmVfbG9ja2VkKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgbmV3X2NwdSkKK3N0YXRp YyB2b2lkIHNjaGVkX3VuaXRfbW92ZV9sb2NrZWQoc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBuZXdfY3B1KQog ewotICAgIHVuc2lnbmVkIGludCBvbGRfY3B1ID0gdi0+cHJvY2Vzc29yOworICAgIHVuc2lnbmVk IGludCBvbGRfY3B1ID0gdW5pdC0+cmVzLT5tYXN0ZXJfY3B1OworICAgIHN0cnVjdCB2Y3B1ICp2 OwogCiAgICAgLyoKICAgICAgKiBUcmFuc2ZlciB1cmdlbmN5IHN0YXR1cyB0byBuZXcgQ1BVIGJl Zm9yZSBzd2l0Y2hpbmcgQ1BVcywgYXMKICAgICAgKiBvbmNlIHRoZSBzd2l0Y2ggb2NjdXJzLCB2 LT5pc191cmdlbnQgaXMgbm8gbG9uZ2VyIHByb3RlY3RlZCBieQogICAgICAqIHRoZSBwZXItQ1BV IHNjaGVkdWxlciBsb2NrIHdlIGFyZSBob2xkaW5nLgogICAgICAqLwotICAgIGlmICggdW5saWtl bHkodi0+aXNfdXJnZW50KSAmJiAob2xkX2NwdSAhPSBuZXdfY3B1KSApCisgICAgZm9yX2VhY2hf c2NoZWRfdW5pdF92Y3B1ICggdW5pdCwgdiApCiAgICAgewotICAgICAgICBhdG9taWNfaW5jKCZw ZXJfY3B1KHNjaGVkX3VyZ2VudF9jb3VudCwgbmV3X2NwdSkpOwotICAgICAgICBhdG9taWNfZGVj KCZwZXJfY3B1KHNjaGVkX3VyZ2VudF9jb3VudCwgb2xkX2NwdSkpOworICAgICAgICBpZiAoIHVu bGlrZWx5KHYtPmlzX3VyZ2VudCkgJiYgKG9sZF9jcHUgIT0gbmV3X2NwdSkgKQorICAgICAgICB7 CisgICAgICAgICAgICBhdG9taWNfaW5jKCZwZXJfY3B1KHNjaGVkX3VyZ2VudF9jb3VudCwgbmV3 X2NwdSkpOworICAgICAgICAgICAgYXRvbWljX2RlYygmcGVyX2NwdShzY2hlZF91cmdlbnRfY291 bnQsIG9sZF9jcHUpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8qCiAgICAgICogQWN0dWFs IENQVSBzd2l0Y2ggdG8gbmV3IENQVS4gIFRoaXMgaXMgc2FmZSBiZWNhdXNlIHRoZSBsb2NrCiAg ICAgICogcG9pbnRlciBjYW4ndCBjaGFuZ2Ugd2hpbGUgdGhlIGN1cnJlbnQgbG9jayBpcyBoZWxk LgogICAgICAqLwotICAgIHNjaGVkX21pZ3JhdGUodmNwdV9zY2hlZHVsZXIodiksIHYtPnNjaGVk X3VuaXQsIG5ld19jcHUpOworICAgIHNjaGVkX21pZ3JhdGUodW5pdF9zY2hlZHVsZXIodW5pdCks IHVuaXQsIG5ld19jcHUpOwogfQogCiAvKgogICogSW5pdGlhdGluZyBtaWdyYXRpb24KICAqCi0g KiBJbiBvcmRlciB0byBtaWdyYXRlLCB3ZSBuZWVkIHRoZSB2Y3B1IGluIHF1ZXN0aW9uIHRvIGhh dmUgc3RvcHBlZAorICogSW4gb3JkZXIgdG8gbWlncmF0ZSwgd2UgbmVlZCB0aGUgdW5pdCBpbiBx dWVzdGlvbiB0byBoYXZlIHN0b3BwZWQKICAqIHJ1bm5pbmcgYW5kIGhhZCBzY2hlZF9zbGVlcCgp IGNhbGxlZCAodG8gdGFrZSBpdCBvZmYgYW55CiAgKiBydW5xdWV1ZXMsIGZvciBpbnN0YW5jZSk7 IGFuZCBpZiBpdCBpcyBjdXJyZW50bHkgcnVubmluZywgaXQgbmVlZHMKICAqIHRvIGJlIHNjaGVk dWxlZCBvdXQuICBGaW5hbGx5LCB3ZSBuZWVkIHRvIGhvbGQgdGhlIHNjaGVkdWxpbmcgbG9ja3MK QEAgLTc4OCwzNyArNzkzLDQ1IEBAIHN0YXRpYyB2b2lkIHZjcHVfbW92ZV9sb2NrZWQoc3RydWN0 IHZjcHUgKnYsIHVuc2lnbmVkIGludCBuZXdfY3B1KQogICogc2hvdWxkIGJlIGNhbGxlZCBsaWtl IHRoaXM6CiAgKgogICogICAgIGxvY2sgPSB1bml0X3NjaGVkdWxlX2xvY2tfaXJxKHVuaXQpOwot ICogICAgIHZjcHVfbWlncmF0ZV9zdGFydCh2KTsKKyAqICAgICBzY2hlZF91bml0X21pZ3JhdGVf c3RhcnQodW5pdCk7CiAgKiAgICAgdW5pdF9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQp Ci0gKiAgICAgdmNwdV9taWdyYXRlX2ZpbmlzaCh2KTsKKyAqICAgICBzY2hlZF91bml0X21pZ3Jh dGVfZmluaXNoKHVuaXQpOwogICoKLSAqIHZjcHVfbWlncmF0ZV9maW5pc2goKSB3aWxsIGRvIHRo ZSB3b3JrIG5vdyBpZiBpdCBjYW4sIG9yIHNpbXBseQotICogcmV0dXJuIGlmIGl0IGNhbid0IChi ZWNhdXNlIHYgaXMgc3RpbGwgcnVubmluZyk7IGluIHRoYXQgY2FzZQotICogdmNwdV9taWdyYXRl X2ZpbmlzaCgpIHdpbGwgYmUgY2FsbGVkIGJ5IGNvbnRleHRfc2F2ZWQoKS4KKyAqIHNjaGVkX3Vu aXRfbWlncmF0ZV9maW5pc2goKSB3aWxsIGRvIHRoZSB3b3JrIG5vdyBpZiBpdCBjYW4sIG9yIHNp bXBseQorICogcmV0dXJuIGlmIGl0IGNhbid0IChiZWNhdXNlIHVuaXQgaXMgc3RpbGwgcnVubmlu Zyk7IGluIHRoYXQgY2FzZQorICogc2NoZWRfdW5pdF9taWdyYXRlX2ZpbmlzaCgpIHdpbGwgYmUg Y2FsbGVkIGJ5IGNvbnRleHRfc2F2ZWQoKS4KICAqLwotc3RhdGljIHZvaWQgdmNwdV9taWdyYXRl X3N0YXJ0KHN0cnVjdCB2Y3B1ICp2KQorc3RhdGljIHZvaWQgc2NoZWRfdW5pdF9taWdyYXRlX3N0 YXJ0KHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogewotICAgIHNldF9iaXQoX1ZQRl9taWdyYXRp bmcsICZ2LT5wYXVzZV9mbGFncyk7Ci0gICAgdmNwdV9zbGVlcF9ub3N5bmNfbG9ja2VkKHYpOwor ICAgIHN0cnVjdCB2Y3B1ICp2OworCisgICAgZm9yX2VhY2hfc2NoZWRfdW5pdF92Y3B1ICggdW5p dCwgdiApCisgICAgeworICAgICAgICBzZXRfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2Vf ZmxhZ3MpOworICAgICAgICB2Y3B1X3NsZWVwX25vc3luY19sb2NrZWQodik7CisgICAgfQogfQog Ci1zdGF0aWMgdm9pZCB2Y3B1X21pZ3JhdGVfZmluaXNoKHN0cnVjdCB2Y3B1ICp2KQorc3RhdGlj IHZvaWQgc2NoZWRfdW5pdF9taWdyYXRlX2ZpbmlzaChzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkK IHsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHVuc2lnbmVkIGludCBvbGRfY3B1LCBu ZXdfY3B1OwogICAgIHNwaW5sb2NrX3QgKm9sZF9sb2NrLCAqbmV3X2xvY2s7CiAgICAgYm9vbF90 IHBpY2tfY2FsbGVkID0gMDsKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKIAogICAgIC8qCi0gICAgICog SWYgdGhlIHZjcHUgaXMgY3VycmVudGx5IHJ1bm5pbmcsIHRoaXMgd2lsbCBiZSBoYW5kbGVkIGJ5 CisgICAgICogSWYgdGhlIHVuaXQgaXMgY3VycmVudGx5IHJ1bm5pbmcsIHRoaXMgd2lsbCBiZSBo YW5kbGVkIGJ5CiAgICAgICogY29udGV4dF9zYXZlZCgpOyBhbmQgaW4gYW55IGNhc2UsIGlmIHRo ZSBiaXQgaXMgY2xlYXJlZCwgdGhlbgogICAgICAqIHNvbWVvbmUgZWxzZSBoYXMgYWxyZWFkeSBk b25lIHRoZSB3b3JrIHNvIHdlIGRvbid0IG5lZWQgdG8uCiAgICAgICovCi0gICAgaWYgKCB2LT5z Y2hlZF91bml0LT5pc19ydW5uaW5nIHx8Ci0gICAgICAgICAhdGVzdF9iaXQoX1ZQRl9taWdyYXRp bmcsICZ2LT5wYXVzZV9mbGFncykgKQorICAgIGlmICggdW5pdC0+aXNfcnVubmluZyApCiAgICAg ICAgIHJldHVybjsKKyAgICBmb3JfZWFjaF9zY2hlZF91bml0X3ZjcHUgKCB1bml0LCB2ICkKKyAg ICAgICAgaWYgKCAhdGVzdF9iaXQoX1ZQRl9taWdyYXRpbmcsICZ2LT5wYXVzZV9mbGFncykgKQor ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgb2xkX2NwdSA9IG5ld19jcHUgPSB2LT5wcm9jZXNz b3I7CisgICAgb2xkX2NwdSA9IG5ld19jcHUgPSB1bml0LT5yZXMtPm1hc3Rlcl9jcHU7CiAgICAg Zm9yICggOyA7ICkKICAgICB7CiAgICAgICAgIC8qCkBAIC04MzEsNyArODQ0LDcgQEAgc3RhdGlj IHZvaWQgdmNwdV9taWdyYXRlX2ZpbmlzaChzdHJ1Y3QgdmNwdSAqdikKIAogICAgICAgICBzY2hl ZF9zcGluX2xvY2tfZG91YmxlKG9sZF9sb2NrLCBuZXdfbG9jaywgJmZsYWdzKTsKIAotICAgICAg ICBvbGRfY3B1ID0gdi0+cHJvY2Vzc29yOworICAgICAgICBvbGRfY3B1ID0gdW5pdC0+cmVzLT5t YXN0ZXJfY3B1OwogICAgICAgICBpZiAoIG9sZF9sb2NrID09IGdldF9zY2hlZF9yZXMob2xkX2Nw dSktPnNjaGVkdWxlX2xvY2sgKQogICAgICAgICB7CiAgICAgICAgICAgICAvKgpAQCAtODQwLDE1 ICs4NTMsMTUgQEAgc3RhdGljIHZvaWQgdmNwdV9taWdyYXRlX2ZpbmlzaChzdHJ1Y3QgdmNwdSAq dikKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgaWYgKCBwaWNrX2NhbGxlZCAmJgogICAg ICAgICAgICAgICAgICAobmV3X2xvY2sgPT0gZ2V0X3NjaGVkX3JlcyhuZXdfY3B1KS0+c2NoZWR1 bGVfbG9jaykgJiYKLSAgICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB2 LT5zY2hlZF91bml0LT5jcHVfaGFyZF9hZmZpbml0eSkgJiYKLSAgICAgICAgICAgICAgICAgY3B1 bWFza190ZXN0X2NwdShuZXdfY3B1LCB2LT5kb21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQor ICAgICAgICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KG5ld19jcHUsIHVuaXQtPmNwdV9oYXJk X2FmZmluaXR5KSAmJgorICAgICAgICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KG5ld19jcHUs IHVuaXQtPmRvbWFpbi0+Y3B1cG9vbC0+Y3B1X3ZhbGlkKSApCiAgICAgICAgICAgICAgICAgYnJl YWs7CiAKICAgICAgICAgICAgIC8qIFNlbGVjdCBhIG5ldyBDUFUuICovCi0gICAgICAgICAgICBu ZXdfY3B1ID0gc2NoZWRfcGlja19yZXNvdXJjZSh2Y3B1X3NjaGVkdWxlcih2KSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPnNjaGVkX3VuaXQpLT5tYXN0ZXJf Y3B1OworICAgICAgICAgICAgbmV3X2NwdSA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodW5pdF9zY2hl ZHVsZXIodW5pdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bml0KS0+bWFzdGVyX2NwdTsKICAgICAgICAgICAgIGlmICggKG5ld19sb2NrID09IGdldF9zY2hl ZF9yZXMobmV3X2NwdSktPnNjaGVkdWxlX2xvY2spICYmCi0gICAgICAgICAgICAgICAgIGNwdW1h c2tfdGVzdF9jcHUobmV3X2NwdSwgdi0+ZG9tYWluLT5jcHVwb29sLT5jcHVfdmFsaWQpICkKKyAg ICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB1bml0LT5kb21haW4tPmNw dXBvb2wtPmNwdV92YWxpZCkgKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg cGlja19jYWxsZWQgPSAxOwogICAgICAgICB9CkBAIC04NjksMjIgKzg4MiwzNSBAQCBzdGF0aWMg dm9pZCB2Y3B1X21pZ3JhdGVfZmluaXNoKHN0cnVjdCB2Y3B1ICp2KQogICAgICAqIGJlY2F1c2Ug dGhleSBib3RoIGhhcHBlbiBpbiAoZGlmZmVyZW50KSBzcGlubG9jayByZWdpb25zLCBhbmQgdGhv c2UKICAgICAgKiByZWdpb25zIGFyZSBzdHJpY3RseSBzZXJpYWxpc2VkLgogICAgICAqLwotICAg IGlmICggdi0+c2NoZWRfdW5pdC0+aXNfcnVubmluZyB8fAotICAgICAgICAgIXRlc3RfYW5kX2Ns ZWFyX2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKSApCisgICAgaWYgKCB1bml0 LT5pc19ydW5uaW5nICkKICAgICB7CiAgICAgICAgIHNjaGVkX3NwaW5fdW5sb2NrX2RvdWJsZShv bGRfbG9jaywgbmV3X2xvY2ssIGZsYWdzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBm b3JfZWFjaF9zY2hlZF91bml0X3ZjcHUgKCB1bml0LCB2ICkKKyAgICB7CisgICAgICAgIGlmICgg IXRlc3RfYW5kX2NsZWFyX2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKSApCisg ICAgICAgIHsKKyAgICAgICAgICAgIHNjaGVkX3NwaW5fdW5sb2NrX2RvdWJsZShvbGRfbG9jaywg bmV3X2xvY2ssIGZsYWdzKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0K IAotICAgIHZjcHVfbW92ZV9sb2NrZWQodiwgbmV3X2NwdSk7CisgICAgc2NoZWRfdW5pdF9tb3Zl X2xvY2tlZCh1bml0LCBuZXdfY3B1KTsKIAogICAgIHNjaGVkX3NwaW5fdW5sb2NrX2RvdWJsZShv bGRfbG9jaywgbmV3X2xvY2ssIGZsYWdzKTsKIAogICAgIGlmICggb2xkX2NwdSAhPSBuZXdfY3B1 ICkKLSAgICAgICAgc2NoZWRfbW92ZV9pcnFzKHYtPnNjaGVkX3VuaXQpOworICAgIHsKKyAgICAg ICAgLyogVmNwdXMgYXJlIG1vdmVkIHRvIG90aGVyIHBjcHVzLCBjb21taXQgdGhlaXIgc3RhdGVz IHRvIG1lbW9yeS4gKi8KKyAgICAgICAgZm9yX2VhY2hfc2NoZWRfdW5pdF92Y3B1ICggdW5pdCwg diApCisgICAgICAgICAgICBzeW5jX3ZjcHVfZXhlY3N0YXRlKHYpOworICAgICAgICBzY2hlZF9t b3ZlX2lycXModW5pdCk7CisgICAgfQogCiAgICAgLyogV2FrZSBvbiBuZXcgQ1BVLiAqLwotICAg IHZjcHVfd2FrZSh2KTsKKyAgICBmb3JfZWFjaF9zY2hlZF91bml0X3ZjcHUgKCB1bml0LCB2ICkK KyAgICAgICAgdmNwdV93YWtlKHYpOwogfQogCiBzdGF0aWMgYm9vbCBzY2hlZF9jaGVja19hZmZp bml0eV9icm9rZW4oY29uc3Qgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCkBAIC0xMDMzLDExICsx MDU5LDkgQEAgaW50IGNwdV9kaXNhYmxlX3NjaGVkdWxlcih1bnNpZ25lZCBpbnQgY3B1KQogICAg ICAgICAgICAgICogICogdGhlIHNjaGVkdWxlciB3aWxsIGFsd2F5cyBmaW5kIGEgc3VpdGFibGUg c29sdXRpb24sIG9yCiAgICAgICAgICAgICAgKiAgICB0aGluZ3Mgd291bGQgaGF2ZSBmYWlsZWQg YmVmb3JlIGdldHRpbmcgaW4gaGVyZS4KICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgLyog VE9ETzogbXVsdGlwbGUgdmNwdXMgcGVyIHVuaXQuICovCi0gICAgICAgICAgICB2Y3B1X21pZ3Jh dGVfc3RhcnQodW5pdC0+dmNwdV9saXN0KTsKKyAgICAgICAgICAgIHNjaGVkX3VuaXRfbWlncmF0 ZV9zdGFydCh1bml0KTsKICAgICAgICAgICAgIHVuaXRfc2NoZWR1bGVfdW5sb2NrX2lycXJlc3Rv cmUobG9jaywgZmxhZ3MsIHVuaXQpOwotCi0gICAgICAgICAgICB2Y3B1X21pZ3JhdGVfZmluaXNo KHVuaXQtPnZjcHVfbGlzdCk7CisgICAgICAgICAgICBzY2hlZF91bml0X21pZ3JhdGVfZmluaXNo KHVuaXQpOwogCiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogVGhlIG9ubHkgY2F2ZWF0 LCBpbiB0aGlzIGNhc2UsIGlzIHRoYXQgaWYgYSB2Y3B1IGFjdGl2ZSBpbgpAQCAtMTEyMSwxNCAr MTE0NSwxNCBAQCBzdGF0aWMgaW50IHZjcHVfc2V0X2FmZmluaXR5KAogICAgICAgICAgICAgQVNT RVJUKHdoaWNoID09IHVuaXQtPmNwdV9zb2Z0X2FmZmluaXR5KTsKICAgICAgICAgICAgIHNjaGVk X3NldF9hZmZpbml0eSh2LCBOVUxMLCBhZmZpbml0eSk7CiAgICAgICAgIH0KLSAgICAgICAgdmNw dV9taWdyYXRlX3N0YXJ0KHYpOworICAgICAgICBzY2hlZF91bml0X21pZ3JhdGVfc3RhcnQodW5p dCk7CiAgICAgfQogCiAgICAgdW5pdF9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOwog CiAgICAgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KHYtPmRvbWFpbik7CiAKLSAgICB2Y3B1 X21pZ3JhdGVfZmluaXNoKHYpOworICAgIHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2godW5pdCk7 CiAKICAgICByZXR1cm4gcmV0OwogfQpAQCAtMTM4OSwxMiArMTQxMywxMiBAQCBpbnQgdmNwdV90 ZW1wb3JhcnlfYWZmaW5pdHkoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBjcHUsIHVpbnQ4 X3QgcmVhc29uKQogCiAgICAgbWlncmF0ZSA9ICFyZXQgJiYgIWNwdW1hc2tfdGVzdF9jcHUodi0+ cHJvY2Vzc29yLCB1bml0LT5jcHVfaGFyZF9hZmZpbml0eSk7CiAgICAgaWYgKCBtaWdyYXRlICkK LSAgICAgICAgdmNwdV9taWdyYXRlX3N0YXJ0KHYpOworICAgICAgICBzY2hlZF91bml0X21pZ3Jh dGVfc3RhcnQodW5pdCk7CiAKICAgICB1bml0X3NjaGVkdWxlX3VubG9ja19pcnEobG9jaywgdW5p dCk7CiAKICAgICBpZiAoIG1pZ3JhdGUgKQotICAgICAgICB2Y3B1X21pZ3JhdGVfZmluaXNoKHYp OworICAgICAgICBzY2hlZF91bml0X21pZ3JhdGVfZmluaXNoKHVuaXQpOwogCiAgICAgcmV0dXJu IHJldDsKIH0KQEAgLTE4MTEsNyArMTgzNSw3IEBAIHZvaWQgY29udGV4dF9zYXZlZChzdHJ1Y3Qg dmNwdSAqcHJldikKIAogICAgIHNjaGVkX2NvbnRleHRfc2F2ZWQodmNwdV9zY2hlZHVsZXIocHJl diksIHByZXYtPnNjaGVkX3VuaXQpOwogCi0gICAgdmNwdV9taWdyYXRlX2ZpbmlzaChwcmV2KTsK KyAgICBzY2hlZF91bml0X21pZ3JhdGVfZmluaXNoKHByZXYtPnNjaGVkX3VuaXQpOwogfQogCiAv KiBUaGUgc2NoZWR1bGVyIHRpbWVyOiBmb3JjZSBhIHJ1biB0aHJvdWdoIHRoZSBzY2hlZHVsZXIg Ki8KLS0gCjIuMTYuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=