From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v4 5/6] xen/cpupool: simplify suspend/resume handling Date: Tue, 2 Apr 2019 18:19:09 +0200 Message-ID: <20190402161910.14860-6-jgross@suse.com> References: <20190402161910.14860-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hBM84-0002YA-AM for xen-devel@lists.xenproject.org; Tue, 02 Apr 2019 16:19:16 +0000 In-Reply-To: <20190402161910.14860-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 , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCBvZiByZW1vdmluZyBjcHVzIHRlbXBvcmFyaWx5IGZyb20gY3B1cG9vbHMgZHVyaW5n CnN1c3BlbmQvcmVzdW1lIG9ubHkgcmVtb3ZlIGNwdXMgZmluYWxseSB3aGljaCBkaWRuJ3QgY29t ZSB1cCB3aGVuCnJlc3VtaW5nLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3Nz QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRy aXguY29tPgpSZXZpZXdlZC1ieTogRGFyaW8gRmFnZ2lvbGkgPGRmYWdnaW9saUBzdXNlLmNvbT4K LS0tClYyOgotIGFkZCBjb21tZW50IChHZW9yZ2UgRHVubGFwKQotLS0KIHhlbi9jb21tb24vY3B1 cG9vbC5jICAgICAgIHwgMTMxICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggfCAgIDEgLQogMiBmaWxlcyBjaGFu Z2VkLCA1MiBpbnNlcnRpb25zKCspLCA4MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v Y29tbW9uL2NwdXBvb2wuYyBiL3hlbi9jb21tb24vY3B1cG9vbC5jCmluZGV4IGU4OWJiNjdlNzEu LjMxYWMzMjNlNDAgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vY3B1cG9vbC5jCisrKyBiL3hlbi9j b21tb24vY3B1cG9vbC5jCkBAIC00NywxMiArNDcsNiBAQCBzdGF0aWMgc3RydWN0IGNwdXBvb2wg KmFsbG9jX2NwdXBvb2xfc3RydWN0KHZvaWQpCiAgICAgICAgIHhmcmVlKGMpOwogICAgICAgICBj ID0gTlVMTDsKICAgICB9Ci0gICAgZWxzZSBpZiAoICF6YWxsb2NfY3B1bWFza192YXIoJmMtPmNw dV9zdXNwZW5kZWQpICkKLSAgICB7Ci0gICAgICAgIGZyZWVfY3B1bWFza192YXIoYy0+Y3B1X3Zh bGlkKTsKLSAgICAgICAgeGZyZWUoYyk7Ci0gICAgICAgIGMgPSBOVUxMOwotICAgIH0KIAogICAg IHJldHVybiBjOwogfQpAQCAtNjAsMTAgKzU0LDcgQEAgc3RhdGljIHN0cnVjdCBjcHVwb29sICph bGxvY19jcHVwb29sX3N0cnVjdCh2b2lkKQogc3RhdGljIHZvaWQgZnJlZV9jcHVwb29sX3N0cnVj dChzdHJ1Y3QgY3B1cG9vbCAqYykKIHsKICAgICBpZiAoIGMgKQotICAgIHsKLSAgICAgICAgZnJl ZV9jcHVtYXNrX3ZhcihjLT5jcHVfc3VzcGVuZGVkKTsKICAgICAgICAgZnJlZV9jcHVtYXNrX3Zh cihjLT5jcHVfdmFsaWQpOwotICAgIH0KICAgICB4ZnJlZShjKTsKIH0KIApAQCAtNDc3LDEwICs0 NjgsNiBAQCB2b2lkIGNwdXBvb2xfcm1fZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiAvKgogICog Q2FsbGVkIHRvIGFkZCBhIGNwdSB0byBhIHBvb2wuIENQVXMgYmVpbmcgaG90LXBsdWdnZWQgYXJl IGFkZGVkIHRvIHBvb2wwLAogICogYXMgdGhleSBtdXN0IGhhdmUgYmVlbiBpbiB0aGVyZSB3aGVu IHVucGx1Z2dlZC4KLSAqCi0gKiBJZiwgb24gdGhlIG90aGVyIGhhbmQsIHdlIGFyZSBhZGRpbmcg Q1BVcyBiZWNhdXNlIHdlIGFyZSByZXN1bWluZyAoZS5nLiwKLSAqIGFmdGVyIEFDUEkgUzMpIHdl IHB1dCB0aGUgY3B1IGJhY2sgaW4gdGhlIHBvb2wgd2hlcmUgaXQgd2FzIGluIHByaW9yIHdoZW4K LSAqIHdlIHN1c3BlbmRlZC4KICAqLwogc3RhdGljIGludCBjcHVwb29sX2NwdV9hZGQodW5zaWdu ZWQgaW50IGNwdSkKIHsKQEAgLTQ5MCw0MiArNDc3LDE1IEBAIHN0YXRpYyBpbnQgY3B1cG9vbF9j cHVfYWRkKHVuc2lnbmVkIGludCBjcHUpCiAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmY3B1 cG9vbF9sb2NrZWRfY3B1cyk7CiAgICAgY3B1bWFza19zZXRfY3B1KGNwdSwgJmNwdXBvb2xfZnJl ZV9jcHVzKTsKIAotICAgIGlmICggc3lzdGVtX3N0YXRlID09IFNZU19TVEFURV9zdXNwZW5kIHx8 IHN5c3RlbV9zdGF0ZSA9PSBTWVNfU1RBVEVfcmVzdW1lICkKLSAgICB7Ci0gICAgICAgIHN0cnVj dCBjcHVwb29sICoqYzsKLQotICAgICAgICBmb3JfZWFjaF9jcHVwb29sKGMpCi0gICAgICAgIHsK LSAgICAgICAgICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICgqYyktPmNwdV9zdXNwZW5k ZWQgKSApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0ID0gY3B1cG9vbF9hc3Np Z25fY3B1X2xvY2tlZCgqYywgY3B1KTsKLSAgICAgICAgICAgICAgICBpZiAoIHJldCApCi0gICAg ICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICAgICAgICAgIGNwdW1hc2tfY2xlYXJf Y3B1KGNwdSwgKCpjKS0+Y3B1X3N1c3BlbmRlZCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g ICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAvKgorICAgICAqIElmIHdlIGFyZSBub3QgcmVz dW1pbmcsIHdlIGFyZSBob3QtcGx1Z2dpbmcgY3B1LCBhbmQgaW4gd2hpY2ggY2FzZQorICAgICAq IHdlIGFkZCBpdCB0byBwb29sMCwgYXMgaXQgY2VydGFpbmx5IHdhcyB0aGVyZSB3aGVuIGhvdC11 bnBsYWdnZWQKKyAgICAgKiAob3IgdW5wbHVnZ2luZyB3b3VsZCBoYXZlIGZhaWxlZCkgYW5kIHRo YXQgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IKKyAgICAgKiBhbnl3YXkuCisgICAgICovCisgICAg cGVyX2NwdShjcHVwb29sLCBjcHUpID0gTlVMTDsKKyAgICByZXQgPSBjcHVwb29sX2Fzc2lnbl9j cHVfbG9ja2VkKGNwdXBvb2wwLCBjcHUpOwogCi0gICAgICAgIC8qCi0gICAgICAgICAqIEVpdGhl ciBjcHUgaGFzIGJlZW4gZm91bmQgYXMgc3VzcGVuZGVkIGluIGEgcG9vbCwgYW5kIGFkZGVkIGJh Y2sKLSAgICAgICAgICogdGhlcmUsIG9yIGl0IHN0YXllZCBmcmVlIChpZiBpdCBkaWQgbm90IGJl bG9uZyB0byBhbnkgcG9vbCB3aGVuCi0gICAgICAgICAqIHN1c3BlbmRpbmcpLCBhbmQgd2UgZG9u J3Qgd2FudCB0byBkbyBhbnl0aGluZy4KLSAgICAgICAgICovCi0gICAgICAgIEFTU0VSVChjcHVt YXNrX3Rlc3RfY3B1KGNwdSwgJmNwdXBvb2xfZnJlZV9jcHVzKSB8fAotICAgICAgICAgICAgICAg Y3B1bWFza190ZXN0X2NwdShjcHUsICgqYyktPmNwdV92YWxpZCkpOwotICAgIH0KLSAgICBlbHNl Ci0gICAgewotICAgICAgICAvKgotICAgICAgICAgKiBJZiB3ZSBhcmUgbm90IHJlc3VtaW5nLCB3 ZSBhcmUgaG90LXBsdWdnaW5nIGNwdSwgYW5kIGluIHdoaWNoIGNhc2UKLSAgICAgICAgICogd2Ug YWRkIGl0IHRvIHBvb2wwLCBhcyBpdCBjZXJ0YWlubHkgd2FzIHRoZXJlIHdoZW4gaG90LXVucGxh Z2dlZAotICAgICAgICAgKiAob3IgdW5wbHVnZ2luZyB3b3VsZCBoYXZlIGZhaWxlZCkgYW5kIHRo YXQgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IKLSAgICAgICAgICogYW55d2F5LgotICAgICAgICAg Ki8KLSAgICAgICAgcGVyX2NwdShjcHVwb29sLCBjcHUpID0gTlVMTDsKLSAgICAgICAgcmV0ID0g Y3B1cG9vbF9hc3NpZ25fY3B1X2xvY2tlZChjcHVwb29sMCwgY3B1KTsKLSAgICB9Ci0gb3V0Ogog ICAgIHNwaW5fdW5sb2NrKCZjcHVwb29sX2xvY2spOwogCiAgICAgcmV0dXJuIHJldDsKQEAgLTUz NSw0MiArNDk1LDE0IEBAIHN0YXRpYyBpbnQgY3B1cG9vbF9jcHVfYWRkKHVuc2lnbmVkIGludCBj cHUpCiAgKiBDYWxsZWQgdG8gcmVtb3ZlIGEgQ1BVIGZyb20gYSBwb29sLiBUaGUgQ1BVIGlzIGxv Y2tlZCwgdG8gZm9yYmlkIHJlbW92aW5nCiAgKiBpdCBmcm9tIHBvb2wwLiBJbiBmYWN0LCBpZiB3 ZSB3YW50IHRvIGhvdC11bnBsdWcgYSBDUFUsIGl0IG11c3QgYmVsb25nIHRvCiAgKiBwb29sMCwg b3Igd2UgZmFpbC4KLSAqCi0gKiBIb3dldmVyLCBpZiB3ZSBhcmUgc3VzcGVuZGluZyAoZS5nLiwg dG8gQUNQSSBTMyksIHdlIG1hcmsgdGhlIENQVSBpbiBzdWNoCi0gKiBhIHdheSB0aGF0IGl0IGNh biBiZSBwdXQgYmFjayBpbiBpdHMgcG9vbCB3aGVuIHJlc3VtaW5nLgogICovCiBzdGF0aWMgaW50 IGNwdXBvb2xfY3B1X3JlbW92ZSh1bnNpZ25lZCBpbnQgY3B1KQogewogICAgIGludCByZXQgPSAt RU5PREVWOwogCiAgICAgc3Bpbl9sb2NrKCZjcHVwb29sX2xvY2spOwotICAgIGlmICggc3lzdGVt X3N0YXRlID09IFNZU19TVEFURV9zdXNwZW5kICkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCBjcHVw b29sICoqYzsKLQotICAgICAgICBmb3JfZWFjaF9jcHVwb29sKGMpCi0gICAgICAgIHsKLSAgICAg ICAgICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICgqYyktPmNwdV92YWxpZCApICkKLSAg ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjcHVtYXNrX3NldF9jcHUoY3B1LCAoKmMpLT5j cHVfc3VzcGVuZGVkKTsKLSAgICAgICAgICAgICAgICBjcHVtYXNrX2NsZWFyX2NwdShjcHUsICgq YyktPmNwdV92YWxpZCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0g ICAgICAgIH0KIAotICAgICAgICAvKgotICAgICAgICAgKiBFaXRoZXIgd2UgZm91bmQgY3B1IGlu IGEgcG9vbCwgb3IgaXQgbXVzdCBiZSBmcmVlIChpZiBpdCBoYXMgYmVlbgotICAgICAgICAgKiBo b3QtdW5wbGFnZ2VkLCB0aGVuIHdlIG11c3QgaGF2ZSBmb3VuZCBpdCBpbiBwb29sMCkuIEl0IGlz LCBvZgotICAgICAgICAgKiBjb3Vyc2UsIGZpbmUgdG8gc3VzcGVuZCBvciBzaHV0ZG93biB3aXRo IENQVXMgbm90IGFzc2lnbmVkIHRvIGEKLSAgICAgICAgICogcG9vbCwgYW5kIChpbiBjYXNlIG9m IHN1c3BlbmQpIHRoZXkgd2lsbCBzdGF5IGZyZWUgd2hlbiByZXN1bWluZy4KLSAgICAgICAgICov Ci0gICAgICAgIEFTU0VSVChjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJmNwdXBvb2xfZnJlZV9jcHVz KSB8fAotICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShjcHUsICgqYyktPmNwdV9zdXNw ZW5kZWQpKTsKLSAgICAgICAgQVNTRVJUKGNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmY3B1X29ubGlu ZV9tYXApIHx8Ci0gICAgICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgY3B1cG9vbDAt PmNwdV9zdXNwZW5kZWQpKTsKLSAgICAgICAgcmV0ID0gMDsKLSAgICB9Ci0gICAgZWxzZSBpZiAo IGNwdW1hc2tfdGVzdF9jcHUoY3B1LCBjcHVwb29sMC0+Y3B1X3ZhbGlkKSApCisgICAgaWYgKCBj cHVtYXNrX3Rlc3RfY3B1KGNwdSwgY3B1cG9vbDAtPmNwdV92YWxpZCkgKQogICAgIHsKICAgICAg ICAgLyoKICAgICAgICAgICogSWYgd2UgYXJlIG5vdCBzdXNwZW5kaW5nLCB3ZSBhcmUgaG90LXVu cGx1Z2dpbmcgY3B1LCBhbmQgdGhhdCBpcwpAQCAtNTg3LDYgKzUxOSw0MSBAQCBzdGF0aWMgaW50 IGNwdXBvb2xfY3B1X3JlbW92ZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHJldHVybiByZXQ7CiB9 CiAKKy8qCisgKiBDYWxsZWQgZHVyaW5nIHJlc3VtZSBmb3IgYWxsIGNwdXMgd2hpY2ggZGlkbid0 IGNvbWUgdXAgYWdhaW4uIFRoZSBjcHUgbXVzdAorICogYmUgcmVtb3ZlZCBmcm9tIHRoZSBjcHVw b29sIGl0IGlzIGFzc2lnbmVkIHRvLiBJbiBjYXNlIGEgY3B1cG9vbCB3aWxsIGJlCisgKiBsZWZ0 IHdpdGhvdXQgY3B1IHdlIG1vdmUgYWxsIGRvbWFpbnMgb2YgdGhhdCBjcHVwb29sIHRvIGNwdXBv b2wwLgorICovCitzdGF0aWMgdm9pZCBjcHVwb29sX2NwdV9yZW1vdmVfZm9yY2VkKHVuc2lnbmVk IGludCBjcHUpCit7CisgICAgc3RydWN0IGNwdXBvb2wgKipjOworICAgIHN0cnVjdCBkb21haW4g KmQ7CisKKyAgICBzcGluX2xvY2soJmNwdXBvb2xfbG9jayk7CisKKyAgICBpZiAoIGNwdW1hc2tf dGVzdF9jcHUoY3B1LCAmY3B1cG9vbF9mcmVlX2NwdXMpICkKKyAgICAgICAgY3B1bWFza19jbGVh cl9jcHUoY3B1LCAmY3B1cG9vbF9mcmVlX2NwdXMpOworICAgIGVsc2UKKyAgICB7CisgICAgICAg IGZvcl9lYWNoX2NwdXBvb2woYykKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBjcHVtYXNr X3Rlc3RfY3B1KGNwdSwgKCpjKS0+Y3B1X3ZhbGlkKSApCisgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAoKmMpLT5jcHVfdmFsaWQpOworICAgICAg ICAgICAgICAgIGlmICggY3B1bWFza193ZWlnaHQoKCpjKS0+Y3B1X3ZhbGlkKSA9PSAwICkKKyAg ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmICggKmMgPT0gY3B1cG9vbDAg KQorICAgICAgICAgICAgICAgICAgICAgICAgcGFuaWMoIk5vIGNwdSBsZWZ0IGluIGNwdXBvb2ww XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgZm9yX2VhY2hfZG9tYWluX2luX2NwdXBvb2woZCwg KmMpCisgICAgICAgICAgICAgICAgICAgICAgICBjcHVwb29sX21vdmVfZG9tYWluX2xvY2tlZChk LCBjcHVwb29sMCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9 CisgICAgfQorCisgICAgc3Bpbl91bmxvY2soJmNwdXBvb2xfbG9jayk7Cit9CisKIC8qCiAgKiBk byBjcHVwb29sIHJlbGF0ZWQgc3lzY3RsIG9wZXJhdGlvbnMKICAqLwpAQCAtNzc0LDEwICs3NDEs MTYgQEAgc3RhdGljIGludCBjcHVfY2FsbGJhY2soCiAgICAgewogICAgIGNhc2UgQ1BVX0RPV05f RkFJTEVEOgogICAgIGNhc2UgQ1BVX09OTElORToKLSAgICAgICAgcmMgPSBjcHVwb29sX2NwdV9h ZGQoY3B1KTsKKyAgICAgICAgaWYgKCBzeXN0ZW1fc3RhdGUgPD0gU1lTX1NUQVRFX2FjdGl2ZSAp CisgICAgICAgICAgICByYyA9IGNwdXBvb2xfY3B1X2FkZChjcHUpOwogICAgICAgICBicmVhazsK ICAgICBjYXNlIENQVV9ET1dOX1BSRVBBUkU6Ci0gICAgICAgIHJjID0gY3B1cG9vbF9jcHVfcmVt b3ZlKGNwdSk7CisgICAgICAgIC8qIFN1c3BlbmQvUmVzdW1lIGRvbid0IGNoYW5nZSBhc3NpZ25t ZW50cyBvZiBjcHVzIHRvIGNwdXBvb2xzLiAqLworICAgICAgICBpZiAoIHN5c3RlbV9zdGF0ZSA8 PSBTWVNfU1RBVEVfYWN0aXZlICkKKyAgICAgICAgICAgIHJjID0gY3B1cG9vbF9jcHVfcmVtb3Zl KGNwdSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1BVX1JFU1VNRV9GQUlMRUQ6CisgICAg ICAgIGNwdXBvb2xfY3B1X3JlbW92ZV9mb3JjZWQoY3B1KTsKICAgICAgICAgYnJlYWs7CiAgICAg ZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vc2No ZWQtaWYuaCBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oCmluZGV4IDk1OTZlYWUxZTIuLjky YmM3YTAzNjUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oCisrKyBiL3hl bi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oCkBAIC0yMTQsNyArMjE0LDYgQEAgc3RydWN0IGNwdXBv b2wKIHsKICAgICBpbnQgICAgICAgICAgICAgIGNwdXBvb2xfaWQ7CiAgICAgY3B1bWFza192YXJf dCAgICBjcHVfdmFsaWQ7ICAgICAgLyogYWxsIGNwdXMgYXNzaWduZWQgdG8gcG9vbCAqLwotICAg IGNwdW1hc2tfdmFyX3QgICAgY3B1X3N1c3BlbmRlZDsgIC8qIGNwdXMgaW4gUzMgdGhhdCBzaG91 bGQgYmUgaW4gdGhpcyBwb29sICovCiAgICAgc3RydWN0IGNwdXBvb2wgICAqbmV4dDsKICAgICB1 bnNpZ25lZCBpbnQgICAgIG5fZG9tOwogICAgIHN0cnVjdCBzY2hlZHVsZXIgKnNjaGVkOwotLSAK Mi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==