From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH 2 of 2] Avoid vcpu migration of paused vcpus Date: Thu, 22 Mar 2012 11:20:30 +0000 Message-ID: References: <4F6AFD53.1040505@ts.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="B_3415260035_40790157" Return-path: In-Reply-To: <4F6AFD53.1040505@ts.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Juergen Gross Cc: xen-devel@lists.xensource.com, Jan Beulich List-Id: xen-devel@lists.xenproject.org > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3415260035_40790157 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit On 22/03/2012 10:22, "Juergen Gross" wrote: > On 03/22/2012 11:12 AM, Keir Fraser wrote: >> Your original patch didn't touch this code. Was that an omission in the >> original version? On reflection I prefer your original patch to this new >> approach. I'll apply it if you still believe your original patch is complete >> and correct as it stands. > > I like my second patch more :-) > > It covers more cases, not just poweroff. In hibernate case no vcpu pinnings > will be lost. Today all vcpus pinned to a cpu other than 0 will lose their > pinnings at cpu offlining. At reactivation those pinnings will not be > restored automatically. My patch will cover that by checking availability > of the cpus after reactivation. > > Poweroff (which was my primary concern) works with both versions. I did not > test other ACPI state changes with either version, but would expect better > results in hibernate case with my second approach. How about the attached patch? Which is similar to your original patch except I added the global state variable, and I added a check for it to cpu_disable_scheduler(). It's nice and small. :-) -- Keir > > Juergen > >> -- Keir >> >> On 22/03/2012 08:22, "Juergen Gross" wrote: >> >>> Currently offlining a cpu will migrate all vcpus which were active on that >>> cpu to another one, possibly breaking existing cpu affinities. >>> >>> In case of an ACPI state change the cpus are taken offline and online later >>> (if not poweroff) while all domains are paused. There is no reason to >>> migrate the vcpus during offlining the cpus, as the cpus will be available >>> again when the domains are being unpaused. >>> >>> This patch defers the migration check in case of paused vcpus or domains >>> by adding vcpu_arouse() to wake up a vcpu and check whether it must be >>> migrated to another cpu. >>> >>> Signed-off-by: Juergen Gross >>> >>> >>> 3 files changed, 64 insertions(+), 24 deletions(-) >>> xen/common/domain.c | 4 +- >>> xen/common/schedule.c | 83 >>> ++++++++++++++++++++++++++++++++++------------- >>> xen/include/xen/sched.h | 1 >>> >>> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xen.org >>> http://lists.xen.org/xen-devel >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> http://lists.xen.org/xen-devel >> >> > --B_3415260035_40790157 Content-type: application/octet-stream; name="00-suspend-affinities" Content-disposition: attachment; filename="00-suspend-affinities" Content-transfer-encoding: base64 ZGlmZiAtciA2YmY1MDg1OGMzYzUgeGVuL2FyY2gvYXJtL3NldHVwLmMKLS0tIGEveGVuL2Fy Y2gvYXJtL3NldHVwLmMJVGh1IE1hciAyMiAxMDoyNjowMyAyMDEyICswMDAwCisrKyBiL3hl bi9hcmNoL2FybS9zZXR1cC5jCVRodSBNYXIgMjIgMTE6MTE6MzkgMjAxMiArMDAwMApAQCAt MjUzLDYgKzI1Myw4IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25nIGJv b3QKICAgICAvKiBIaWRlIFVBUlQgZnJvbSBET00wIGlmIHdlJ3JlIHVzaW5nIGl0ICovCiAg ICAgc2VyaWFsX2VuZGJvb3QoKTsKIAorICAgIHN5c3RlbV9zdGF0ZSA9IFNZU19TVEFURV9h Y3RpdmU7CisKICAgICBkb21haW5fdW5wYXVzZV9ieV9zeXN0ZW1jb250cm9sbGVyKGRvbTAp OwogCiAgICAgLyogU3dpdGNoIG9uIHRvIHRoZSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgc3Rh Y2sgZm9yIHRoZSBpZGxlIHZjcHUKZGlmZiAtciA2YmY1MDg1OGMzYzUgeGVuL2FyY2gveDg2 L2FjcGkvcG93ZXIuYwotLS0gYS94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5jCVRodSBNYXIg MjIgMTA6MjY6MDMgMjAxMiArMDAwMAorKysgYi94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5j CVRodSBNYXIgMjIgMTE6MTE6MzkgMjAxMiArMDAwMApAQCAtMTM1LDYgKzEzNSw5IEBAIHN0 YXRpYyBpbnQgZW50ZXJfc3RhdGUodTMyIHN0YXRlKQogICAgIGlmICggIXNwaW5fdHJ5bG9j aygmcG1fbG9jaykgKQogICAgICAgICByZXR1cm4gLUVCVVNZOwogCisgICAgQlVHX09OKHN5 c3RlbV9zdGF0ZSAhPSBTWVNfU1RBVEVfYWN0aXZlKTsKKyAgICBzeXN0ZW1fc3RhdGUgPSBT WVNfU1RBVEVfc3VzcGVuZDsKKwogICAgIHByaW50ayhYRU5MT0dfSU5GTyAiUHJlcGFyaW5n IHN5c3RlbSBmb3IgQUNQSSBTJWQgc3RhdGUuXG4iLCBzdGF0ZSk7CiAKICAgICBmcmVlemVf ZG9tYWlucygpOwpAQCAtMTQyLDcgKzE0NSwxMCBAQCBzdGF0aWMgaW50IGVudGVyX3N0YXRl KHUzMiBzdGF0ZSkKICAgICBhY3BpX2RtYXJfcmVpbnN0YXRlKCk7CiAKICAgICBpZiAoIChl cnJvciA9IGRpc2FibGVfbm9uYm9vdF9jcHVzKCkpICkKKyAgICB7CisgICAgICAgIHN5c3Rl bV9zdGF0ZSA9IFNZU19TVEFURV9yZXN1bWU7CiAgICAgICAgIGdvdG8gZW5hYmxlX2NwdTsK KyAgICB9CiAKICAgICBjcHVmcmVxX2RlbF9jcHUoMCk7CiAKQEAgLTE1OSw2ICsxNjUsNyBA QCBzdGF0aWMgaW50IGVudGVyX3N0YXRlKHUzMiBzdGF0ZSkKICAgICBpZiAoIChlcnJvciA9 IGRldmljZV9wb3dlcl9kb3duKCkpICkKICAgICB7CiAgICAgICAgIHByaW50ayhYRU5MT0df RVJSICJTb21lIGRldmljZXMgZmFpbGVkIHRvIHBvd2VyIGRvd24uIik7CisgICAgICAgIHN5 c3RlbV9zdGF0ZSA9IFNZU19TVEFURV9yZXN1bWU7CiAgICAgICAgIGdvdG8gZG9uZTsKICAg ICB9CiAKQEAgLTE3OSw2ICsxODYsOCBAQCBzdGF0aWMgaW50IGVudGVyX3N0YXRlKHUzMiBz dGF0ZSkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgc3lzdGVtX3N0YXRlID0gU1lT X1NUQVRFX3Jlc3VtZTsKKwogICAgIC8qIFJlc3RvcmUgQ1I0IGFuZCBFRkVSIGZyb20gY2Fj aGVkIHZhbHVlcy4gKi8KICAgICBjcjQgPSByZWFkX2NyNCgpOwogICAgIHdyaXRlX2NyNChj cjQgJiB+WDg2X0NSNF9NQ0UpOwpAQCAtMjEyLDYgKzIyMSw3IEBAIHN0YXRpYyBpbnQgZW50 ZXJfc3RhdGUodTMyIHN0YXRlKQogICAgIG10cnJfYXBzX3N5bmNfZW5kKCk7CiAgICAgYWNw aV9kbWFyX3phcCgpOwogICAgIHRoYXdfZG9tYWlucygpOworICAgIHN5c3RlbV9zdGF0ZSA9 IFNZU19TVEFURV9hY3RpdmU7CiAgICAgc3Bpbl91bmxvY2soJnBtX2xvY2spOwogICAgIHJl dHVybiBlcnJvcjsKIH0KZGlmZiAtciA2YmY1MDg1OGMzYzUgeGVuL2FyY2gveDg2L21tLmMK LS0tIGEveGVuL2FyY2gveDg2L21tLmMJVGh1IE1hciAyMiAxMDoyNjowMyAyMDEyICswMDAw CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCVRodSBNYXIgMjIgMTE6MTE6MzkgMjAxMiArMDAw MApAQCAtNTMxNiw3ICs1MzE2LDcgQEAgaW50IHB0d3JfZG9fcGFnZV9mYXVsdChzdHJ1Y3Qg dmNwdSAqdiwgdQogCiB2b2lkIGZyZWVfeGVuX3BhZ2V0YWJsZSh2b2lkICp2KQogewotICAg IGlmICggZWFybHlfYm9vdCApCisgICAgaWYgKCBzeXN0ZW1fc3RhdGUgPT0gU1lTX1NUQVRF X2Vhcmx5X2Jvb3QgKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIGlzX3hlbl9oZWFw X3BhZ2UodmlydF90b19wYWdlKHYpKSApCmRpZmYgLXIgNmJmNTA4NThjM2M1IHhlbi9hcmNo L3g4Ni9zZXR1cC5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCVRodSBNYXIgMjIgMTA6 MjY6MDMgMjAxMiArMDAwMAorKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwlUaHUgTWFyIDIy IDExOjExOjM5IDIwMTIgKzAwMDAKQEAgLTgxLDggKzgxLDYgQEAgYm9vbGVhbl9wYXJhbSgi bm9hcGljIiwgc2tpcF9pb2FwaWNfc2V0dQogczggX19yZWFkX21vc3RseSB4ZW5fY3B1aWRs ZSA9IC0xOwogYm9vbGVhbl9wYXJhbSgiY3B1aWRsZSIsIHhlbl9jcHVpZGxlKTsKIAotYm9v bF90IF9fcmVhZF9tb3N0bHkgZWFybHlfYm9vdCA9IDE7Ci0KIGNwdW1hc2tfdCBfX3JlYWRf bW9zdGx5IGNwdV9wcmVzZW50X21hcDsKIAogdW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5 IHhlbl9waHlzX3N0YXJ0OwpAQCAtMjcxLDcgKzI2OSw3IEBAIHN0YXRpYyB2b2lkICpfX2lu aXQgYm9vdHN0cmFwX21hcChjb25zdCAKICAgICB2b2lkICpyZXQ7CiAKICNpZmRlZiBfX3g4 Nl82NF9fCi0gICAgaWYgKCAhZWFybHlfYm9vdCApCisgICAgaWYgKCBzeXN0ZW1fc3RhdGUg IT0gU1lTX1NUQVRFX2Vhcmx5X2Jvb3QgKQogICAgICAgICByZXR1cm4gbW9kID8gbWZuX3Rv X3ZpcnQobW9kLT5tb2Rfc3RhcnQpIDogTlVMTDsKICNlbmRpZgogCkBAIC0xMTY4LDcgKzEx NjYsNyBAQCB2b2lkIF9faW5pdCBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iCiAjZW5k aWYKIAogICAgIGVuZF9ib290X2FsbG9jYXRvcigpOwotICAgIGVhcmx5X2Jvb3QgPSAwOwor ICAgIHN5c3RlbV9zdGF0ZSA9IFNZU19TVEFURV9ib290OwogCiAjaWYgZGVmaW5lZChDT05G SUdfWDg2XzY0KQogICAgIHZlc2FfaW5pdCgpOwpAQCAtMTM5MSw2ICsxMzg5LDggQEAgdm9p ZCBfX2luaXQgX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYgogCiAgICAgZG1pX2VuZF9i b290KCk7CiAKKyAgICBzeXN0ZW1fc3RhdGUgPSBTWVNfU1RBVEVfYWN0aXZlOworCiAgICAg ZG9tYWluX3VucGF1c2VfYnlfc3lzdGVtY29udHJvbGxlcihkb20wKTsKIAogICAgIHJlc2V0 X3N0YWNrX2FuZF9qdW1wKGluaXRfZG9uZSk7CmRpZmYgLXIgNmJmNTA4NThjM2M1IHhlbi9h cmNoL3g4Ni94ODZfMzIvbW0uYwotLS0gYS94ZW4vYXJjaC94ODYveDg2XzMyL21tLmMJVGh1 IE1hciAyMiAxMDoyNjowMyAyMDEyICswMDAwCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfMzIv bW0uYwlUaHUgTWFyIDIyIDExOjExOjM5IDIwMTIgKzAwMDAKQEAgLTQzLDcgKzQzLDcgQEAg dm9pZCAqYWxsb2NfeGVuX3BhZ2V0YWJsZSh2b2lkKQogewogICAgIHVuc2lnbmVkIGxvbmcg bWZuOwogCi0gICAgaWYgKCAhZWFybHlfYm9vdCApCisgICAgaWYgKCBzeXN0ZW1fc3RhdGUg IT0gU1lTX1NUQVRFX2Vhcmx5X2Jvb3QgKQogICAgIHsKICAgICAgICAgdm9pZCAqdiA9IGFs bG9jX3hlbmhlYXBfcGFnZSgpOwogCmRpZmYgLXIgNmJmNTA4NThjM2M1IHhlbi9hcmNoL3g4 Ni94ODZfNjQvbW0uYwotLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMJVGh1IE1hciAy MiAxMDoyNjowMyAyMDEyICswMDAwCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYwlU aHUgTWFyIDIyIDExOjExOjM5IDIwMTIgKzAwMDAKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCAq YWxsb2NfeGVuX3BhZ2V0YWJsZSh2b2lkKQogewogICAgIHVuc2lnbmVkIGxvbmcgbWZuOwog Ci0gICAgaWYgKCAhZWFybHlfYm9vdCApCisgICAgaWYgKCBzeXN0ZW1fc3RhdGUgIT0gU1lT X1NUQVRFX2Vhcmx5X2Jvb3QgKQogICAgIHsKICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAq cGcgPSBhbGxvY19kb21oZWFwX3BhZ2UoTlVMTCwgMCk7CiAKZGlmZiAtciA2YmY1MDg1OGMz YzUgeGVuL2NvbW1vbi9jcHVwb29sLmMKLS0tIGEveGVuL2NvbW1vbi9jcHVwb29sLmMJVGh1 IE1hciAyMiAxMDoyNjowMyAyMDEyICswMDAwCisrKyBiL3hlbi9jb21tb24vY3B1cG9vbC5j CVRodSBNYXIgMjIgMTE6MTE6MzkgMjAxMiArMDAwMApAQCAtNjI5LDYgKzYyOSwxMCBAQCBz dGF0aWMgaW50IGNwdV9jYWxsYmFjaygKICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gKHVuc2ln bmVkIGxvbmcpaGNwdTsKICAgICBpbnQgcmMgPSAwOwogCisgICAgaWYgKCAoc3lzdGVtX3N0 YXRlID09IFNZU19TVEFURV9zdXNwZW5kKSB8fAorICAgICAgICAgKHN5c3RlbV9zdGF0ZSA9 PSBTWVNfU1RBVEVfcmVzdW1lKSApCisgICAgICAgIGdvdG8gb3V0OworCiAgICAgc3dpdGNo ICggYWN0aW9uICkKICAgICB7CiAgICAgY2FzZSBDUFVfRE9XTl9GQUlMRUQ6CkBAIC02NDIs NiArNjQ2LDcgQEAgc3RhdGljIGludCBjcHVfY2FsbGJhY2soCiAgICAgICAgIGJyZWFrOwog ICAgIH0KIAorb3V0OgogICAgIHJldHVybiAhcmMgPyBOT1RJRllfRE9ORSA6IG5vdGlmaWVy X2Zyb21fZXJybm8ocmMpOwogfQogCmRpZmYgLXIgNmJmNTA4NThjM2M1IHhlbi9jb21tb24v a2VybmVsLmMKLS0tIGEveGVuL2NvbW1vbi9rZXJuZWwuYwlUaHUgTWFyIDIyIDEwOjI2OjAz IDIwMTIgKzAwMDAKKysrIGIveGVuL2NvbW1vbi9rZXJuZWwuYwlUaHUgTWFyIDIyIDExOjEx OjM5IDIwMTIgKzAwMDAKQEAgLTIwLDYgKzIwLDggQEAKIAogI2lmbmRlZiBDT01QQVQKIAor ZW51bSBzeXN0ZW1fc3RhdGUgc3lzdGVtX3N0YXRlID0gU1lTX1NUQVRFX2Vhcmx5X2Jvb3Q7 CisKIGludCB0YWludGVkOwogCiB4ZW5fY29tbWFuZGxpbmVfdCBzYXZlZF9jbWRsaW5lOwpk aWZmIC1yIDZiZjUwODU4YzNjNSB4ZW4vY29tbW9uL3NjaGVkdWxlLmMKLS0tIGEveGVuL2Nv bW1vbi9zY2hlZHVsZS5jCVRodSBNYXIgMjIgMTA6MjY6MDMgMjAxMiArMDAwMAorKysgYi94 ZW4vY29tbW9uL3NjaGVkdWxlLmMJVGh1IE1hciAyMiAxMToxMTozOSAyMDEyICswMDAwCkBA IC01MzgsNyArNTM4LDcgQEAgaW50IGNwdV9kaXNhYmxlX3NjaGVkdWxlcih1bnNpZ25lZCBp bnQgYwogICAgIGludCAgICByZXQgPSAwOwogCiAgICAgYyA9IHBlcl9jcHUoY3B1cG9vbCwg Y3B1KTsKLSAgICBpZiAoIGMgPT0gTlVMTCApCisgICAgaWYgKCAoYyA9PSBOVUxMKSB8fCAo c3lzdGVtX3N0YXRlID09IFNZU19TVEFURV9zdXNwZW5kKSApCiAgICAgICAgIHJldHVybiBy ZXQ7CiAKICAgICBmb3JfZWFjaF9kb21haW5faW5fY3B1cG9vbCAoIGQsIGMgKQpkaWZmIC1y IDZiZjUwODU4YzNjNSB4ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmgKLS0tIGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCVRodSBNYXIgMjIgMTA6MjY6MDMgMjAxMiArMDAwMAor KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmgJVGh1IE1hciAyMiAxMToxMTozOSAy MDEyICswMDAwCkBAIC0zLDcgKzMsNiBAQAogCiAjaW5jbHVkZSA8eGVuL211bHRpYm9vdC5o PgogCi1leHRlcm4gYm9vbF90IGVhcmx5X2Jvb3Q7CiBleHRlcm4gdW5zaWduZWQgbG9uZyB4 ZW5oZWFwX2luaXRpYWxfcGh5c19zdGFydDsKIAogdm9pZCBlYXJseV9jcHVfaW5pdCh2b2lk KTsKZGlmZiAtciA2YmY1MDg1OGMzYzUgeGVuL2luY2x1ZGUveGVuL2tlcm5lbC5oCi0tLSBh L3hlbi9pbmNsdWRlL3hlbi9rZXJuZWwuaAlUaHUgTWFyIDIyIDEwOjI2OjAzIDIwMTIgKzAw MDAKKysrIGIveGVuL2luY2x1ZGUveGVuL2tlcm5lbC5oCVRodSBNYXIgMjIgMTE6MTE6Mzkg MjAxMiArMDAwMApAQCAtODcsNSArODcsMTMgQEAgZXh0ZXJuIGNoYXIgX3Npbml0dGV4dFtd LCBfZWluaXR0ZXh0W107CiAgICAgKF9fcCA+PSBfc2luaXR0ZXh0KSAmJiAoX19wIDwgX2Vp bml0dGV4dCk7ICBcCiB9KQogCitleHRlcm4gZW51bSBzeXN0ZW1fc3RhdGUgeworICAgIFNZ U19TVEFURV9lYXJseV9ib290LAorICAgIFNZU19TVEFURV9ib290LAorICAgIFNZU19TVEFU RV9hY3RpdmUsCisgICAgU1lTX1NUQVRFX3N1c3BlbmQsCisgICAgU1lTX1NUQVRFX3Jlc3Vt ZQorfSBzeXN0ZW1fc3RhdGU7CisKICNlbmRpZiAvKiBfTElOVVhfS0VSTkVMX0ggKi8KIAo= --B_3415260035_40790157 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --B_3415260035_40790157--