From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 33/60] xen/sched: Change vcpu_migrate_*() to operate on schedule unit Date: Tue, 28 May 2019 12:32:46 +0200 Message-ID: <20190528103313.1343-34-jgross@suse.com> References: <20190528103313.1343-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQD-0004ri-UF for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:33 +0000 In-Reply-To: <20190528103313.1343-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , George Dunlap , Dario Faggioli List-Id: xen-devel@lists.xenproject.org Tm93IHRoYXQgdmNwdV9taWdyYXRlX3N0YXJ0KCkgYW5kIHZjcHVfbWlncmF0ZV9maW5pc2goKSBh cmUgdXNlZCBvbmx5CnRvIGVuc3VyZSBhIHZjcHUgaXMgcnVubmluZyBvbiBhIHN1aXRhYmxlIHBy b2Nlc3NvciB0aGV5IGNhbiBiZQpzd2l0Y2hlZCB0byBvcGVyYXRlIG9uIHNjaGVkdWxlIHVuaXRz IGluc3RlYWQgb2YgdmNwdXMuCgpXaGlsZSBkb2luZyB0aGF0IHJlbmFtZSB0aGVtIGFjY29yZGlu Z2x5IGFuZCBtYWtlIHRoZSBfc3RhcnQoKSB2YXJpYW50CnN0YXRpYy4KCnZjcHVfbW92ZV9sb2Nr ZWQoKSBpcyBzd2l0Y2hlZCB0byBzY2hlZHVsZSB1bml0LCB0b28uCgpTaWduZWQtb2ZmLWJ5OiBK dWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5j IHwgMTAyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmlu ZGV4IDEyZjk4NTI3ODYuLjgxMjFkYTE1YzYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1 bGUuYworKysgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTY3MywzNSArNjczLDQwIEBAIHZv aWQgdmNwdV91bmJsb2NrKHN0cnVjdCB2Y3B1ICp2KQogfQogCiAvKgotICogRG8gdGhlIGFjdHVh bCBtb3ZlbWVudCBvZiBhIHZjcHUgZnJvbSBvbGQgdG8gbmV3IENQVS4gTG9ja3MgZm9yICpib3Ro KgorICogRG8gdGhlIGFjdHVhbCBtb3ZlbWVudCBvZiBhbiB1bml0IGZyb20gb2xkIHRvIG5ldyBD UFUuIExvY2tzIGZvciAqYm90aCoKICAqIENQVXMgbmVlZHMgdG8gaGF2ZSBiZWVuIHRha2VuIGFs cmVhZHkgd2hlbiBjYWxsaW5nIHRoaXMhCiAgKi8KLXN0YXRpYyB2b2lkIHZjcHVfbW92ZV9sb2Nr ZWQoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBuZXdfY3B1KQorc3RhdGljIHZvaWQgc2No ZWRfdW5pdF9tb3ZlX2xvY2tlZChzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5ld19jcHUpCiB7Ci0gICAgdW5z aWduZWQgaW50IG9sZF9jcHUgPSB2LT5wcm9jZXNzb3I7CisgICAgdW5zaWduZWQgaW50IG9sZF9j cHUgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKIAogICAgIC8q CiAgICAgICogVHJhbnNmZXIgdXJnZW5jeSBzdGF0dXMgdG8gbmV3IENQVSBiZWZvcmUgc3dpdGNo aW5nIENQVXMsIGFzCiAgICAgICogb25jZSB0aGUgc3dpdGNoIG9jY3Vycywgdi0+aXNfdXJnZW50 IGlzIG5vIGxvbmdlciBwcm90ZWN0ZWQgYnkKICAgICAgKiB0aGUgcGVyLUNQVSBzY2hlZHVsZXIg bG9jayB3ZSBhcmUgaG9sZGluZy4KICAgICAgKi8KLSAgICBpZiAoIHVubGlrZWx5KHYtPmlzX3Vy Z2VudCkgJiYgKG9sZF9jcHUgIT0gbmV3X2NwdSkgKQorICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRf dmNwdSAoIHVuaXQsIHYgKQogICAgIHsKLSAgICAgICAgYXRvbWljX2luYygmZ2V0X3NjaGVkX3Jl cyhuZXdfY3B1KS0+dXJnZW50X2NvdW50KTsKLSAgICAgICAgYXRvbWljX2RlYygmZ2V0X3NjaGVk X3JlcyhvbGRfY3B1KS0+dXJnZW50X2NvdW50KTsKKyAgICAgICAgaWYgKCB1bmxpa2VseSh2LT5p c191cmdlbnQpICYmIChvbGRfY3B1ICE9IG5ld19jcHUpICkKKyAgICAgICAgeworICAgICAgICAg ICAgYXRvbWljX2luYygmZ2V0X3NjaGVkX3JlcyhuZXdfY3B1KS0+dXJnZW50X2NvdW50KTsKKyAg ICAgICAgICAgIGF0b21pY19kZWMoJmdldF9zY2hlZF9yZXMob2xkX2NwdSktPnVyZ2VudF9jb3Vu dCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvKgogICAgICAqIEFjdHVhbCBDUFUgc3dpdGNo IHRvIG5ldyBDUFUuICBUaGlzIGlzIHNhZmUgYmVjYXVzZSB0aGUgbG9jawogICAgICAqIHBvaW50 ZXIgY2FuJ3QgY2hhbmdlIHdoaWxlIHRoZSBjdXJyZW50IGxvY2sgaXMgaGVsZC4KICAgICAgKi8K LSAgICBzY2hlZF9taWdyYXRlKHZjcHVfc2NoZWR1bGVyKHYpLCB2LT5zY2hlZF91bml0LCBuZXdf Y3B1KTsKKyAgICBzY2hlZF9taWdyYXRlKHZjcHVfc2NoZWR1bGVyKHVuaXQtPnZjcHUpLCB1bml0 LCBuZXdfY3B1KTsKIH0KIAogLyoKICAqIEluaXRpYXRpbmcgbWlncmF0aW9uCiAgKgotICogSW4g b3JkZXIgdG8gbWlncmF0ZSwgd2UgbmVlZCB0aGUgdmNwdSBpbiBxdWVzdGlvbiB0byBoYXZlIHN0 b3BwZWQKKyAqIEluIG9yZGVyIHRvIG1pZ3JhdGUsIHdlIG5lZWQgdGhlIHVuaXQgaW4gcXVlc3Rp b24gdG8gaGF2ZSBzdG9wcGVkCiAgKiBydW5uaW5nIGFuZCBoYWQgc2NoZWRfc2xlZXAoKSBjYWxs ZWQgKHRvIHRha2UgaXQgb2ZmIGFueQogICogcnVucXVldWVzLCBmb3IgaW5zdGFuY2UpOyBhbmQg aWYgaXQgaXMgY3VycmVudGx5IHJ1bm5pbmcsIGl0IG5lZWRzCiAgKiB0byBiZSBzY2hlZHVsZWQg b3V0LiAgRmluYWxseSwgd2UgbmVlZCB0byBob2xkIHRoZSBzY2hlZHVsaW5nIGxvY2tzCkBAIC03 MTcsMzcgKzcyMiw0NSBAQCBzdGF0aWMgdm9pZCB2Y3B1X21vdmVfbG9ja2VkKHN0cnVjdCB2Y3B1 ICp2LCB1bnNpZ25lZCBpbnQgbmV3X2NwdSkKICAqIHNob3VsZCBiZSBjYWxsZWQgbGlrZSB0aGlz OgogICoKICAqICAgICBsb2NrID0gdW5pdF9zY2hlZHVsZV9sb2NrX2lycSh1bml0KTsKLSAqICAg ICB2Y3B1X21pZ3JhdGVfc3RhcnQodik7CisgKiAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0 KHVuaXQpOwogICogICAgIHVuaXRfc2NoZWR1bGVfdW5sb2NrX2lycShsb2NrLCB1bml0KQotICog ICAgIHZjcHVfbWlncmF0ZV9maW5pc2godik7CisgKiAgICAgc2NoZWRfdW5pdF9taWdyYXRlX2Zp bmlzaCh1bml0KTsKICAqCi0gKiB2Y3B1X21pZ3JhdGVfZmluaXNoKCkgd2lsbCBkbyB0aGUgd29y ayBub3cgaWYgaXQgY2FuLCBvciBzaW1wbHkKLSAqIHJldHVybiBpZiBpdCBjYW4ndCAoYmVjYXVz ZSB2IGlzIHN0aWxsIHJ1bm5pbmcpOyBpbiB0aGF0IGNhc2UKLSAqIHZjcHVfbWlncmF0ZV9maW5p c2goKSB3aWxsIGJlIGNhbGxlZCBieSBjb250ZXh0X3NhdmVkKCkuCisgKiBzY2hlZF91bml0X21p Z3JhdGVfZmluaXNoKCkgd2lsbCBkbyB0aGUgd29yayBub3cgaWYgaXQgY2FuLCBvciBzaW1wbHkK KyAqIHJldHVybiBpZiBpdCBjYW4ndCAoYmVjYXVzZSB1bml0IGlzIHN0aWxsIHJ1bm5pbmcpOyBp biB0aGF0IGNhc2UKKyAqIHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2goKSB3aWxsIGJlIGNhbGxl ZCBieSBjb250ZXh0X3NhdmVkKCkuCiAgKi8KLXN0YXRpYyB2b2lkIHZjcHVfbWlncmF0ZV9zdGFy dChzdHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2b2lkIHNjaGVkX3VuaXRfbWlncmF0ZV9zdGFydChz dHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKIHsKLSAgICBzZXRfYml0KF9WUEZfbWlncmF0aW5nLCAm di0+cGF1c2VfZmxhZ3MpOwotICAgIHZjcHVfc2xlZXBfbm9zeW5jX2xvY2tlZCh2KTsKKyAgICBz dHJ1Y3QgdmNwdSAqdjsKKworICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRfdmNwdSAoIHVuaXQsIHYg KQorICAgIHsKKyAgICAgICAgc2V0X2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdz KTsKKyAgICAgICAgdmNwdV9zbGVlcF9ub3N5bmNfbG9ja2VkKHYpOworICAgIH0KIH0KIAotc3Rh dGljIHZvaWQgdmNwdV9taWdyYXRlX2ZpbmlzaChzdHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2b2lk IHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2goc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CiAg ICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICB1bnNpZ25lZCBpbnQgb2xkX2NwdSwgbmV3X2Nw dTsKICAgICBzcGlubG9ja190ICpvbGRfbG9jaywgKm5ld19sb2NrOwogICAgIGJvb2xfdCBwaWNr X2NhbGxlZCA9IDA7CisgICAgc3RydWN0IHZjcHUgKnY7CiAKICAgICAvKgotICAgICAqIElmIHRo ZSB2Y3B1IGlzIGN1cnJlbnRseSBydW5uaW5nLCB0aGlzIHdpbGwgYmUgaGFuZGxlZCBieQorICAg ICAqIElmIHRoZSB1bml0IGlzIGN1cnJlbnRseSBydW5uaW5nLCB0aGlzIHdpbGwgYmUgaGFuZGxl ZCBieQogICAgICAqIGNvbnRleHRfc2F2ZWQoKTsgYW5kIGluIGFueSBjYXNlLCBpZiB0aGUgYml0 IGlzIGNsZWFyZWQsIHRoZW4KICAgICAgKiBzb21lb25lIGVsc2UgaGFzIGFscmVhZHkgZG9uZSB0 aGUgd29yayBzbyB3ZSBkb24ndCBuZWVkIHRvLgogICAgICAqLwotICAgIGlmICggdi0+c2NoZWRf dW5pdC0+aXNfcnVubmluZyB8fAotICAgICAgICAgIXRlc3RfYml0KF9WUEZfbWlncmF0aW5nLCAm di0+cGF1c2VfZmxhZ3MpICkKLSAgICAgICAgcmV0dXJuOworICAgIGZvcl9lYWNoX3NjaGVkX3Vu aXRfdmNwdSAoIHVuaXQsIHYgKQorICAgIHsKKyAgICAgICAgaWYgKCB1bml0LT5pc19ydW5uaW5n IHx8ICF0ZXN0X2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKSApCisgICAgICAg ICAgICByZXR1cm47CisgICAgfQogCi0gICAgb2xkX2NwdSA9IG5ld19jcHUgPSB2LT5wcm9jZXNz b3I7CisgICAgb2xkX2NwdSA9IG5ld19jcHUgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKICAgICBm b3IgKCA7IDsgKQogICAgIHsKICAgICAgICAgLyoKQEAgLTc2MCw3ICs3NzMsNyBAQCBzdGF0aWMg dm9pZCB2Y3B1X21pZ3JhdGVfZmluaXNoKHN0cnVjdCB2Y3B1ICp2KQogCiAgICAgICAgIHNjaGVk X3NwaW5fbG9ja19kb3VibGUob2xkX2xvY2ssIG5ld19sb2NrLCAmZmxhZ3MpOwogCi0gICAgICAg IG9sZF9jcHUgPSB2LT5wcm9jZXNzb3I7CisgICAgICAgIG9sZF9jcHUgPSB1bml0LT5yZXMtPnBy b2Nlc3NvcjsKICAgICAgICAgaWYgKCBvbGRfbG9jayA9PSBnZXRfc2NoZWRfcmVzKG9sZF9jcHUp LT5zY2hlZHVsZV9sb2NrICkKICAgICAgICAgewogICAgICAgICAgICAgLyoKQEAgLTc2OSwxNSAr NzgyLDE1IEBAIHN0YXRpYyB2b2lkIHZjcHVfbWlncmF0ZV9maW5pc2goc3RydWN0IHZjcHUgKnYp CiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIGlmICggcGlja19jYWxsZWQgJiYKICAgICAg ICAgICAgICAgICAgKG5ld19sb2NrID09IGdldF9zY2hlZF9yZXMobmV3X2NwdSktPnNjaGVkdWxl X2xvY2spICYmCi0gICAgICAgICAgICAgICAgIGNwdW1hc2tfdGVzdF9jcHUobmV3X2NwdSwgdi0+ c2NoZWRfdW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICYmCi0gICAgICAgICAgICAgICAgIGNwdW1h c2tfdGVzdF9jcHUobmV3X2NwdSwgdi0+ZG9tYWluLT5jcHVwb29sLT5jcHVfdmFsaWQpICkKKyAg ICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB1bml0LT5jcHVfaGFyZF9h ZmZpbml0eSkgJiYKKyAgICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB1 bml0LT5kb21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQogICAgICAgICAgICAgICAgIGJyZWFr OwogCiAgICAgICAgICAgICAvKiBTZWxlY3QgYSBuZXcgQ1BVLiAqLwotICAgICAgICAgICAgbmV3 X2NwdSA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodmNwdV9zY2hlZHVsZXIodiksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LT5zY2hlZF91bml0KS0+cHJvY2Vzc29y OworICAgICAgICAgICAgbmV3X2NwdSA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodmNwdV9zY2hlZHVs ZXIodW5pdC0+dmNwdSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bml0KS0+cHJvY2Vzc29yOwogICAgICAgICAgICAgaWYgKCAobmV3X2xvY2sgPT0gZ2V0X3Nj aGVkX3JlcyhuZXdfY3B1KS0+c2NoZWR1bGVfbG9jaykgJiYKLSAgICAgICAgICAgICAgICAgY3B1 bWFza190ZXN0X2NwdShuZXdfY3B1LCB2LT5kb21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQor ICAgICAgICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KG5ld19jcHUsIHVuaXQtPmRvbWFpbi0+ Y3B1cG9vbC0+Y3B1X3ZhbGlkKSApCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg ICBwaWNrX2NhbGxlZCA9IDE7CiAgICAgICAgIH0KQEAgLTc5OCwyMiArODExLDI2IEBAIHN0YXRp YyB2b2lkIHZjcHVfbWlncmF0ZV9maW5pc2goc3RydWN0IHZjcHUgKnYpCiAgICAgICogYmVjYXVz ZSB0aGV5IGJvdGggaGFwcGVuIGluIChkaWZmZXJlbnQpIHNwaW5sb2NrIHJlZ2lvbnMsIGFuZCB0 aG9zZQogICAgICAqIHJlZ2lvbnMgYXJlIHN0cmljdGx5IHNlcmlhbGlzZWQuCiAgICAgICovCi0g ICAgaWYgKCB2LT5zY2hlZF91bml0LT5pc19ydW5uaW5nIHx8Ci0gICAgICAgICAhdGVzdF9hbmRf Y2xlYXJfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2VfZmxhZ3MpICkKKyAgICBmb3JfZWFj aF9zY2hlZF91bml0X3ZjcHUgKCB1bml0LCB2ICkKICAgICB7Ci0gICAgICAgIHNjaGVkX3NwaW5f dW5sb2NrX2RvdWJsZShvbGRfbG9jaywgbmV3X2xvY2ssIGZsYWdzKTsKLSAgICAgICAgcmV0dXJu OworICAgICAgICBpZiAoIHVuaXQtPmlzX3J1bm5pbmcgfHwKKyAgICAgICAgICAgICAhdGVzdF9h bmRfY2xlYXJfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2VfZmxhZ3MpICkKKyAgICAgICAg eworICAgICAgICAgICAgc2NoZWRfc3Bpbl91bmxvY2tfZG91YmxlKG9sZF9sb2NrLCBuZXdfbG9j aywgZmxhZ3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAg dmNwdV9tb3ZlX2xvY2tlZCh2LCBuZXdfY3B1KTsKKyAgICBzY2hlZF91bml0X21vdmVfbG9ja2Vk KHVuaXQsIG5ld19jcHUpOwogCiAgICAgc2NoZWRfc3Bpbl91bmxvY2tfZG91YmxlKG9sZF9sb2Nr LCBuZXdfbG9jaywgZmxhZ3MpOwogCiAgICAgaWYgKCBvbGRfY3B1ICE9IG5ld19jcHUgKQotICAg ICAgICBzY2hlZF9tb3ZlX2lycXModi0+c2NoZWRfdW5pdCk7CisgICAgICAgIHNjaGVkX21vdmVf aXJxcyh1bml0KTsKIAogICAgIC8qIFdha2Ugb24gbmV3IENQVS4gKi8KLSAgICB2Y3B1X3dha2Uo dik7CisgICAgZm9yX2VhY2hfc2NoZWRfdW5pdF92Y3B1ICggdW5pdCwgdiApCisgICAgICAgIHZj cHVfd2FrZSh2KTsKIH0KIAogLyoKQEAgLTk1NSwxMCArOTcyLDkgQEAgaW50IGNwdV9kaXNhYmxl X3NjaGVkdWxlcih1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAgICAgICogICogdGhlIHNjaGVk dWxlciB3aWxsIGFsd2F5cyBmaW5kIGEgc3VpdGFibGUgc29sdXRpb24sIG9yCiAgICAgICAgICAg ICAgKiAgICB0aGluZ3Mgd291bGQgaGF2ZSBmYWlsZWQgYmVmb3JlIGdldHRpbmcgaW4gaGVyZS4K ICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgdmNwdV9taWdyYXRlX3N0YXJ0KHVuaXQtPnZj cHUpOworICAgICAgICAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0KHVuaXQpOwogICAgICAg ICAgICAgdW5pdF9zY2hlZHVsZV91bmxvY2tfaXJxcmVzdG9yZShsb2NrLCBmbGFncywgdW5pdCk7 Ci0KLSAgICAgICAgICAgIHZjcHVfbWlncmF0ZV9maW5pc2godW5pdC0+dmNwdSk7CisgICAgICAg ICAgICBzY2hlZF91bml0X21pZ3JhdGVfZmluaXNoKHVuaXQpOwogCiAgICAgICAgICAgICAvKgog ICAgICAgICAgICAgICogVGhlIG9ubHkgY2F2ZWF0LCBpbiB0aGlzIGNhc2UsIGlzIHRoYXQgaWYg YSB2Y3B1IGFjdGl2ZSBpbgpAQCAtMTA0MiwxNCArMTA1OCwxNCBAQCBzdGF0aWMgaW50IHZjcHVf c2V0X2FmZmluaXR5KAogICAgICAgICAgICAgQVNTRVJUKHdoaWNoID09IHVuaXQtPmNwdV9zb2Z0 X2FmZmluaXR5KTsKICAgICAgICAgICAgIHNjaGVkX3NldF9hZmZpbml0eSh2LCBOVUxMLCBhZmZp bml0eSk7CiAgICAgICAgIH0KLSAgICAgICAgdmNwdV9taWdyYXRlX3N0YXJ0KHYpOworICAgICAg ICBzY2hlZF91bml0X21pZ3JhdGVfc3RhcnQodW5pdCk7CiAgICAgfQogCiAgICAgdW5pdF9zY2hl ZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOwogCiAgICAgZG9tYWluX3VwZGF0ZV9ub2RlX2Fm ZmluaXR5KHYtPmRvbWFpbik7CiAKLSAgICB2Y3B1X21pZ3JhdGVfZmluaXNoKHYpOworICAgIHNj aGVkX3VuaXRfbWlncmF0ZV9maW5pc2godW5pdCk7CiAKICAgICByZXR1cm4gcmV0OwogfQpAQCAt MTI5MywxMyArMTMwOSwxMyBAQCBpbnQgdmNwdV9waW5fb3ZlcnJpZGUoc3RydWN0IHZjcHUgKnYs IGludCBjcHUpCiAgICAgfQogCiAgICAgaWYgKCByZXQgPT0gMCApCi0gICAgICAgIHZjcHVfbWln cmF0ZV9zdGFydCh2KTsKKyAgICAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0KHVuaXQpOwog CiAgICAgdW5pdF9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOwogCiAgICAgZG9tYWlu X3VwZGF0ZV9ub2RlX2FmZmluaXR5KHYtPmRvbWFpbik7CiAKLSAgICB2Y3B1X21pZ3JhdGVfZmlu aXNoKHYpOworICAgIHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2godW5pdCk7CiAKICAgICByZXR1 cm4gcmV0OwogfQpAQCAtMTY4Niw3ICsxNzAyLDcgQEAgdm9pZCBjb250ZXh0X3NhdmVkKHN0cnVj dCB2Y3B1ICpwcmV2KQogCiAgICAgc2NoZWRfY29udGV4dF9zYXZlZCh2Y3B1X3NjaGVkdWxlcihw cmV2KSwgcHJldi0+c2NoZWRfdW5pdCk7CiAKLSAgICB2Y3B1X21pZ3JhdGVfZmluaXNoKHByZXYp OworICAgIHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2gocHJldi0+c2NoZWRfdW5pdCk7CiB9CiAK IC8qIFRoZSBzY2hlZHVsZXIgdGltZXI6IGZvcmNlIGEgcnVuIHRocm91Z2ggdGhlIHNjaGVkdWxl ciAqLwotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA== 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.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 A5C7BC04AB6 for ; Tue, 28 May 2019 10:34:18 +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 7C8482075C for ; Tue, 28 May 2019 10:34:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7C8482075C 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 1hVZQh-0005tn-Bv; Tue, 28 May 2019 10:34:03 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQD-0004ri-UF for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:33 +0000 X-Inumbo-ID: 068d4b9e-8134-11e9-b999-fbbc9d5caa14 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 068d4b9e-8134-11e9-b999-fbbc9d5caa14; Tue, 28 May 2019 10:33:26 +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 EC720B05E; Tue, 28 May 2019 10:33:24 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 28 May 2019 12:32:46 +0200 Message-Id: <20190528103313.1343-34-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190528103313.1343-1-jgross@suse.com> References: <20190528103313.1343-1-jgross@suse.com> Subject: [Xen-devel] [PATCH 33/60] 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" Message-ID: <20190528103246.KlD8TnSn7vTZLfV6-hy0ueRJslTi97n_OEBR-Whq-RE@z> Tm93IHRoYXQgdmNwdV9taWdyYXRlX3N0YXJ0KCkgYW5kIHZjcHVfbWlncmF0ZV9maW5pc2goKSBh cmUgdXNlZCBvbmx5CnRvIGVuc3VyZSBhIHZjcHUgaXMgcnVubmluZyBvbiBhIHN1aXRhYmxlIHBy b2Nlc3NvciB0aGV5IGNhbiBiZQpzd2l0Y2hlZCB0byBvcGVyYXRlIG9uIHNjaGVkdWxlIHVuaXRz IGluc3RlYWQgb2YgdmNwdXMuCgpXaGlsZSBkb2luZyB0aGF0IHJlbmFtZSB0aGVtIGFjY29yZGlu Z2x5IGFuZCBtYWtlIHRoZSBfc3RhcnQoKSB2YXJpYW50CnN0YXRpYy4KCnZjcHVfbW92ZV9sb2Nr ZWQoKSBpcyBzd2l0Y2hlZCB0byBzY2hlZHVsZSB1bml0LCB0b28uCgpTaWduZWQtb2ZmLWJ5OiBK dWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5j IHwgMTAyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmlu ZGV4IDEyZjk4NTI3ODYuLjgxMjFkYTE1YzYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1 bGUuYworKysgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTY3MywzNSArNjczLDQwIEBAIHZv aWQgdmNwdV91bmJsb2NrKHN0cnVjdCB2Y3B1ICp2KQogfQogCiAvKgotICogRG8gdGhlIGFjdHVh bCBtb3ZlbWVudCBvZiBhIHZjcHUgZnJvbSBvbGQgdG8gbmV3IENQVS4gTG9ja3MgZm9yICpib3Ro KgorICogRG8gdGhlIGFjdHVhbCBtb3ZlbWVudCBvZiBhbiB1bml0IGZyb20gb2xkIHRvIG5ldyBD UFUuIExvY2tzIGZvciAqYm90aCoKICAqIENQVXMgbmVlZHMgdG8gaGF2ZSBiZWVuIHRha2VuIGFs cmVhZHkgd2hlbiBjYWxsaW5nIHRoaXMhCiAgKi8KLXN0YXRpYyB2b2lkIHZjcHVfbW92ZV9sb2Nr ZWQoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBuZXdfY3B1KQorc3RhdGljIHZvaWQgc2No ZWRfdW5pdF9tb3ZlX2xvY2tlZChzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5ld19jcHUpCiB7Ci0gICAgdW5z aWduZWQgaW50IG9sZF9jcHUgPSB2LT5wcm9jZXNzb3I7CisgICAgdW5zaWduZWQgaW50IG9sZF9j cHUgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKIAogICAgIC8q CiAgICAgICogVHJhbnNmZXIgdXJnZW5jeSBzdGF0dXMgdG8gbmV3IENQVSBiZWZvcmUgc3dpdGNo aW5nIENQVXMsIGFzCiAgICAgICogb25jZSB0aGUgc3dpdGNoIG9jY3Vycywgdi0+aXNfdXJnZW50 IGlzIG5vIGxvbmdlciBwcm90ZWN0ZWQgYnkKICAgICAgKiB0aGUgcGVyLUNQVSBzY2hlZHVsZXIg bG9jayB3ZSBhcmUgaG9sZGluZy4KICAgICAgKi8KLSAgICBpZiAoIHVubGlrZWx5KHYtPmlzX3Vy Z2VudCkgJiYgKG9sZF9jcHUgIT0gbmV3X2NwdSkgKQorICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRf dmNwdSAoIHVuaXQsIHYgKQogICAgIHsKLSAgICAgICAgYXRvbWljX2luYygmZ2V0X3NjaGVkX3Jl cyhuZXdfY3B1KS0+dXJnZW50X2NvdW50KTsKLSAgICAgICAgYXRvbWljX2RlYygmZ2V0X3NjaGVk X3JlcyhvbGRfY3B1KS0+dXJnZW50X2NvdW50KTsKKyAgICAgICAgaWYgKCB1bmxpa2VseSh2LT5p c191cmdlbnQpICYmIChvbGRfY3B1ICE9IG5ld19jcHUpICkKKyAgICAgICAgeworICAgICAgICAg ICAgYXRvbWljX2luYygmZ2V0X3NjaGVkX3JlcyhuZXdfY3B1KS0+dXJnZW50X2NvdW50KTsKKyAg ICAgICAgICAgIGF0b21pY19kZWMoJmdldF9zY2hlZF9yZXMob2xkX2NwdSktPnVyZ2VudF9jb3Vu dCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvKgogICAgICAqIEFjdHVhbCBDUFUgc3dpdGNo IHRvIG5ldyBDUFUuICBUaGlzIGlzIHNhZmUgYmVjYXVzZSB0aGUgbG9jawogICAgICAqIHBvaW50 ZXIgY2FuJ3QgY2hhbmdlIHdoaWxlIHRoZSBjdXJyZW50IGxvY2sgaXMgaGVsZC4KICAgICAgKi8K LSAgICBzY2hlZF9taWdyYXRlKHZjcHVfc2NoZWR1bGVyKHYpLCB2LT5zY2hlZF91bml0LCBuZXdf Y3B1KTsKKyAgICBzY2hlZF9taWdyYXRlKHZjcHVfc2NoZWR1bGVyKHVuaXQtPnZjcHUpLCB1bml0 LCBuZXdfY3B1KTsKIH0KIAogLyoKICAqIEluaXRpYXRpbmcgbWlncmF0aW9uCiAgKgotICogSW4g b3JkZXIgdG8gbWlncmF0ZSwgd2UgbmVlZCB0aGUgdmNwdSBpbiBxdWVzdGlvbiB0byBoYXZlIHN0 b3BwZWQKKyAqIEluIG9yZGVyIHRvIG1pZ3JhdGUsIHdlIG5lZWQgdGhlIHVuaXQgaW4gcXVlc3Rp b24gdG8gaGF2ZSBzdG9wcGVkCiAgKiBydW5uaW5nIGFuZCBoYWQgc2NoZWRfc2xlZXAoKSBjYWxs ZWQgKHRvIHRha2UgaXQgb2ZmIGFueQogICogcnVucXVldWVzLCBmb3IgaW5zdGFuY2UpOyBhbmQg aWYgaXQgaXMgY3VycmVudGx5IHJ1bm5pbmcsIGl0IG5lZWRzCiAgKiB0byBiZSBzY2hlZHVsZWQg b3V0LiAgRmluYWxseSwgd2UgbmVlZCB0byBob2xkIHRoZSBzY2hlZHVsaW5nIGxvY2tzCkBAIC03 MTcsMzcgKzcyMiw0NSBAQCBzdGF0aWMgdm9pZCB2Y3B1X21vdmVfbG9ja2VkKHN0cnVjdCB2Y3B1 ICp2LCB1bnNpZ25lZCBpbnQgbmV3X2NwdSkKICAqIHNob3VsZCBiZSBjYWxsZWQgbGlrZSB0aGlz OgogICoKICAqICAgICBsb2NrID0gdW5pdF9zY2hlZHVsZV9sb2NrX2lycSh1bml0KTsKLSAqICAg ICB2Y3B1X21pZ3JhdGVfc3RhcnQodik7CisgKiAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0 KHVuaXQpOwogICogICAgIHVuaXRfc2NoZWR1bGVfdW5sb2NrX2lycShsb2NrLCB1bml0KQotICog ICAgIHZjcHVfbWlncmF0ZV9maW5pc2godik7CisgKiAgICAgc2NoZWRfdW5pdF9taWdyYXRlX2Zp bmlzaCh1bml0KTsKICAqCi0gKiB2Y3B1X21pZ3JhdGVfZmluaXNoKCkgd2lsbCBkbyB0aGUgd29y ayBub3cgaWYgaXQgY2FuLCBvciBzaW1wbHkKLSAqIHJldHVybiBpZiBpdCBjYW4ndCAoYmVjYXVz ZSB2IGlzIHN0aWxsIHJ1bm5pbmcpOyBpbiB0aGF0IGNhc2UKLSAqIHZjcHVfbWlncmF0ZV9maW5p c2goKSB3aWxsIGJlIGNhbGxlZCBieSBjb250ZXh0X3NhdmVkKCkuCisgKiBzY2hlZF91bml0X21p Z3JhdGVfZmluaXNoKCkgd2lsbCBkbyB0aGUgd29yayBub3cgaWYgaXQgY2FuLCBvciBzaW1wbHkK KyAqIHJldHVybiBpZiBpdCBjYW4ndCAoYmVjYXVzZSB1bml0IGlzIHN0aWxsIHJ1bm5pbmcpOyBp biB0aGF0IGNhc2UKKyAqIHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2goKSB3aWxsIGJlIGNhbGxl ZCBieSBjb250ZXh0X3NhdmVkKCkuCiAgKi8KLXN0YXRpYyB2b2lkIHZjcHVfbWlncmF0ZV9zdGFy dChzdHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2b2lkIHNjaGVkX3VuaXRfbWlncmF0ZV9zdGFydChz dHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKIHsKLSAgICBzZXRfYml0KF9WUEZfbWlncmF0aW5nLCAm di0+cGF1c2VfZmxhZ3MpOwotICAgIHZjcHVfc2xlZXBfbm9zeW5jX2xvY2tlZCh2KTsKKyAgICBz dHJ1Y3QgdmNwdSAqdjsKKworICAgIGZvcl9lYWNoX3NjaGVkX3VuaXRfdmNwdSAoIHVuaXQsIHYg KQorICAgIHsKKyAgICAgICAgc2V0X2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdz KTsKKyAgICAgICAgdmNwdV9zbGVlcF9ub3N5bmNfbG9ja2VkKHYpOworICAgIH0KIH0KIAotc3Rh dGljIHZvaWQgdmNwdV9taWdyYXRlX2ZpbmlzaChzdHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2b2lk IHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2goc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CiAg ICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICB1bnNpZ25lZCBpbnQgb2xkX2NwdSwgbmV3X2Nw dTsKICAgICBzcGlubG9ja190ICpvbGRfbG9jaywgKm5ld19sb2NrOwogICAgIGJvb2xfdCBwaWNr X2NhbGxlZCA9IDA7CisgICAgc3RydWN0IHZjcHUgKnY7CiAKICAgICAvKgotICAgICAqIElmIHRo ZSB2Y3B1IGlzIGN1cnJlbnRseSBydW5uaW5nLCB0aGlzIHdpbGwgYmUgaGFuZGxlZCBieQorICAg ICAqIElmIHRoZSB1bml0IGlzIGN1cnJlbnRseSBydW5uaW5nLCB0aGlzIHdpbGwgYmUgaGFuZGxl ZCBieQogICAgICAqIGNvbnRleHRfc2F2ZWQoKTsgYW5kIGluIGFueSBjYXNlLCBpZiB0aGUgYml0 IGlzIGNsZWFyZWQsIHRoZW4KICAgICAgKiBzb21lb25lIGVsc2UgaGFzIGFscmVhZHkgZG9uZSB0 aGUgd29yayBzbyB3ZSBkb24ndCBuZWVkIHRvLgogICAgICAqLwotICAgIGlmICggdi0+c2NoZWRf dW5pdC0+aXNfcnVubmluZyB8fAotICAgICAgICAgIXRlc3RfYml0KF9WUEZfbWlncmF0aW5nLCAm di0+cGF1c2VfZmxhZ3MpICkKLSAgICAgICAgcmV0dXJuOworICAgIGZvcl9lYWNoX3NjaGVkX3Vu aXRfdmNwdSAoIHVuaXQsIHYgKQorICAgIHsKKyAgICAgICAgaWYgKCB1bml0LT5pc19ydW5uaW5n IHx8ICF0ZXN0X2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKSApCisgICAgICAg ICAgICByZXR1cm47CisgICAgfQogCi0gICAgb2xkX2NwdSA9IG5ld19jcHUgPSB2LT5wcm9jZXNz b3I7CisgICAgb2xkX2NwdSA9IG5ld19jcHUgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKICAgICBm b3IgKCA7IDsgKQogICAgIHsKICAgICAgICAgLyoKQEAgLTc2MCw3ICs3NzMsNyBAQCBzdGF0aWMg dm9pZCB2Y3B1X21pZ3JhdGVfZmluaXNoKHN0cnVjdCB2Y3B1ICp2KQogCiAgICAgICAgIHNjaGVk X3NwaW5fbG9ja19kb3VibGUob2xkX2xvY2ssIG5ld19sb2NrLCAmZmxhZ3MpOwogCi0gICAgICAg IG9sZF9jcHUgPSB2LT5wcm9jZXNzb3I7CisgICAgICAgIG9sZF9jcHUgPSB1bml0LT5yZXMtPnBy b2Nlc3NvcjsKICAgICAgICAgaWYgKCBvbGRfbG9jayA9PSBnZXRfc2NoZWRfcmVzKG9sZF9jcHUp LT5zY2hlZHVsZV9sb2NrICkKICAgICAgICAgewogICAgICAgICAgICAgLyoKQEAgLTc2OSwxNSAr NzgyLDE1IEBAIHN0YXRpYyB2b2lkIHZjcHVfbWlncmF0ZV9maW5pc2goc3RydWN0IHZjcHUgKnYp CiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIGlmICggcGlja19jYWxsZWQgJiYKICAgICAg ICAgICAgICAgICAgKG5ld19sb2NrID09IGdldF9zY2hlZF9yZXMobmV3X2NwdSktPnNjaGVkdWxl X2xvY2spICYmCi0gICAgICAgICAgICAgICAgIGNwdW1hc2tfdGVzdF9jcHUobmV3X2NwdSwgdi0+ c2NoZWRfdW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICYmCi0gICAgICAgICAgICAgICAgIGNwdW1h c2tfdGVzdF9jcHUobmV3X2NwdSwgdi0+ZG9tYWluLT5jcHVwb29sLT5jcHVfdmFsaWQpICkKKyAg ICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB1bml0LT5jcHVfaGFyZF9h ZmZpbml0eSkgJiYKKyAgICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB1 bml0LT5kb21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQogICAgICAgICAgICAgICAgIGJyZWFr OwogCiAgICAgICAgICAgICAvKiBTZWxlY3QgYSBuZXcgQ1BVLiAqLwotICAgICAgICAgICAgbmV3 X2NwdSA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodmNwdV9zY2hlZHVsZXIodiksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LT5zY2hlZF91bml0KS0+cHJvY2Vzc29y OworICAgICAgICAgICAgbmV3X2NwdSA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodmNwdV9zY2hlZHVs ZXIodW5pdC0+dmNwdSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bml0KS0+cHJvY2Vzc29yOwogICAgICAgICAgICAgaWYgKCAobmV3X2xvY2sgPT0gZ2V0X3Nj aGVkX3JlcyhuZXdfY3B1KS0+c2NoZWR1bGVfbG9jaykgJiYKLSAgICAgICAgICAgICAgICAgY3B1 bWFza190ZXN0X2NwdShuZXdfY3B1LCB2LT5kb21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQor ICAgICAgICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KG5ld19jcHUsIHVuaXQtPmRvbWFpbi0+ Y3B1cG9vbC0+Y3B1X3ZhbGlkKSApCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg ICBwaWNrX2NhbGxlZCA9IDE7CiAgICAgICAgIH0KQEAgLTc5OCwyMiArODExLDI2IEBAIHN0YXRp YyB2b2lkIHZjcHVfbWlncmF0ZV9maW5pc2goc3RydWN0IHZjcHUgKnYpCiAgICAgICogYmVjYXVz ZSB0aGV5IGJvdGggaGFwcGVuIGluIChkaWZmZXJlbnQpIHNwaW5sb2NrIHJlZ2lvbnMsIGFuZCB0 aG9zZQogICAgICAqIHJlZ2lvbnMgYXJlIHN0cmljdGx5IHNlcmlhbGlzZWQuCiAgICAgICovCi0g ICAgaWYgKCB2LT5zY2hlZF91bml0LT5pc19ydW5uaW5nIHx8Ci0gICAgICAgICAhdGVzdF9hbmRf Y2xlYXJfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2VfZmxhZ3MpICkKKyAgICBmb3JfZWFj aF9zY2hlZF91bml0X3ZjcHUgKCB1bml0LCB2ICkKICAgICB7Ci0gICAgICAgIHNjaGVkX3NwaW5f dW5sb2NrX2RvdWJsZShvbGRfbG9jaywgbmV3X2xvY2ssIGZsYWdzKTsKLSAgICAgICAgcmV0dXJu OworICAgICAgICBpZiAoIHVuaXQtPmlzX3J1bm5pbmcgfHwKKyAgICAgICAgICAgICAhdGVzdF9h bmRfY2xlYXJfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2VfZmxhZ3MpICkKKyAgICAgICAg eworICAgICAgICAgICAgc2NoZWRfc3Bpbl91bmxvY2tfZG91YmxlKG9sZF9sb2NrLCBuZXdfbG9j aywgZmxhZ3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAg dmNwdV9tb3ZlX2xvY2tlZCh2LCBuZXdfY3B1KTsKKyAgICBzY2hlZF91bml0X21vdmVfbG9ja2Vk KHVuaXQsIG5ld19jcHUpOwogCiAgICAgc2NoZWRfc3Bpbl91bmxvY2tfZG91YmxlKG9sZF9sb2Nr LCBuZXdfbG9jaywgZmxhZ3MpOwogCiAgICAgaWYgKCBvbGRfY3B1ICE9IG5ld19jcHUgKQotICAg ICAgICBzY2hlZF9tb3ZlX2lycXModi0+c2NoZWRfdW5pdCk7CisgICAgICAgIHNjaGVkX21vdmVf aXJxcyh1bml0KTsKIAogICAgIC8qIFdha2Ugb24gbmV3IENQVS4gKi8KLSAgICB2Y3B1X3dha2Uo dik7CisgICAgZm9yX2VhY2hfc2NoZWRfdW5pdF92Y3B1ICggdW5pdCwgdiApCisgICAgICAgIHZj cHVfd2FrZSh2KTsKIH0KIAogLyoKQEAgLTk1NSwxMCArOTcyLDkgQEAgaW50IGNwdV9kaXNhYmxl X3NjaGVkdWxlcih1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAgICAgICogICogdGhlIHNjaGVk dWxlciB3aWxsIGFsd2F5cyBmaW5kIGEgc3VpdGFibGUgc29sdXRpb24sIG9yCiAgICAgICAgICAg ICAgKiAgICB0aGluZ3Mgd291bGQgaGF2ZSBmYWlsZWQgYmVmb3JlIGdldHRpbmcgaW4gaGVyZS4K ICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgdmNwdV9taWdyYXRlX3N0YXJ0KHVuaXQtPnZj cHUpOworICAgICAgICAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0KHVuaXQpOwogICAgICAg ICAgICAgdW5pdF9zY2hlZHVsZV91bmxvY2tfaXJxcmVzdG9yZShsb2NrLCBmbGFncywgdW5pdCk7 Ci0KLSAgICAgICAgICAgIHZjcHVfbWlncmF0ZV9maW5pc2godW5pdC0+dmNwdSk7CisgICAgICAg ICAgICBzY2hlZF91bml0X21pZ3JhdGVfZmluaXNoKHVuaXQpOwogCiAgICAgICAgICAgICAvKgog ICAgICAgICAgICAgICogVGhlIG9ubHkgY2F2ZWF0LCBpbiB0aGlzIGNhc2UsIGlzIHRoYXQgaWYg YSB2Y3B1IGFjdGl2ZSBpbgpAQCAtMTA0MiwxNCArMTA1OCwxNCBAQCBzdGF0aWMgaW50IHZjcHVf c2V0X2FmZmluaXR5KAogICAgICAgICAgICAgQVNTRVJUKHdoaWNoID09IHVuaXQtPmNwdV9zb2Z0 X2FmZmluaXR5KTsKICAgICAgICAgICAgIHNjaGVkX3NldF9hZmZpbml0eSh2LCBOVUxMLCBhZmZp bml0eSk7CiAgICAgICAgIH0KLSAgICAgICAgdmNwdV9taWdyYXRlX3N0YXJ0KHYpOworICAgICAg ICBzY2hlZF91bml0X21pZ3JhdGVfc3RhcnQodW5pdCk7CiAgICAgfQogCiAgICAgdW5pdF9zY2hl ZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOwogCiAgICAgZG9tYWluX3VwZGF0ZV9ub2RlX2Fm ZmluaXR5KHYtPmRvbWFpbik7CiAKLSAgICB2Y3B1X21pZ3JhdGVfZmluaXNoKHYpOworICAgIHNj aGVkX3VuaXRfbWlncmF0ZV9maW5pc2godW5pdCk7CiAKICAgICByZXR1cm4gcmV0OwogfQpAQCAt MTI5MywxMyArMTMwOSwxMyBAQCBpbnQgdmNwdV9waW5fb3ZlcnJpZGUoc3RydWN0IHZjcHUgKnYs IGludCBjcHUpCiAgICAgfQogCiAgICAgaWYgKCByZXQgPT0gMCApCi0gICAgICAgIHZjcHVfbWln cmF0ZV9zdGFydCh2KTsKKyAgICAgICAgc2NoZWRfdW5pdF9taWdyYXRlX3N0YXJ0KHVuaXQpOwog CiAgICAgdW5pdF9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOwogCiAgICAgZG9tYWlu X3VwZGF0ZV9ub2RlX2FmZmluaXR5KHYtPmRvbWFpbik7CiAKLSAgICB2Y3B1X21pZ3JhdGVfZmlu aXNoKHYpOworICAgIHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2godW5pdCk7CiAKICAgICByZXR1 cm4gcmV0OwogfQpAQCAtMTY4Niw3ICsxNzAyLDcgQEAgdm9pZCBjb250ZXh0X3NhdmVkKHN0cnVj dCB2Y3B1ICpwcmV2KQogCiAgICAgc2NoZWRfY29udGV4dF9zYXZlZCh2Y3B1X3NjaGVkdWxlcihw cmV2KSwgcHJldi0+c2NoZWRfdW5pdCk7CiAKLSAgICB2Y3B1X21pZ3JhdGVfZmluaXNoKHByZXYp OworICAgIHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2gocHJldi0+c2NoZWRfdW5pdCk7CiB9CiAK IC8qIFRoZSBzY2hlZHVsZXIgdGltZXI6IGZvcmNlIGEgcnVuIHRocm91Z2ggdGhlIHNjaGVkdWxl ciAqLwotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA==