From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v3 1/5] xen: sched: improve robustness (and rename) DOM2OP() Date: Fri, 07 Apr 2017 14:28:01 +0200 Message-ID: <149156808092.26316.14854527808352993774.stgit@Solace.fritz.box> References: <149156740206.26316.13423335183353072520.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cwSzq-0006Ck-AV for xen-devel@lists.xenproject.org; Fri, 07 Apr 2017 12:28:10 +0000 Received: by mail-wr0-f195.google.com with SMTP id o21so14512964wrb.3 for ; Fri, 07 Apr 2017 05:28:03 -0700 (PDT) In-Reply-To: <149156740206.26316.13423335183353072520.stgit@Solace.fritz.box> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , George Dunlap , Jan Beulich List-Id: xen-devel@lists.xenproject.org Q2xhcmlmeSBhbmQgZW5mb3JjZSAod2l0aCBBU1NFUlRzKSB3aGVuIHRoZSBmdW5jdGlvbgppcyBj YWxsZWQgb24gdGhlIGlkbGUgZG9tYWluLCBhbmQgZXhwbGFpbiBpbiBjb21tZW50cwp3aGF0IGl0 IG1lYW5zIGFuZCB3aGVuIGl0IGlzIG9rIHRvIGRvIHNvLgoKV2hpbGUgdGhlcmUsIGNoYW5nZSB0 aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gYSBtb3JlCnNlbGYtZXhwbGFuYXRvcnkgb25lLCBh bmQgZG8gdGhlIHNhbWUgdG8gVkNQVTJPUC4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xp IDxkYXJpby5mYWdnaW9saUBjaXRyaXguY29tPgpBY2tlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2Vv cmdlLmR1bmxhcEBjaXRyaXguY29tPgotLS0KQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNl LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCkNoYW5nZXMgZnJv bSB2MjoKLSBmaXhlZCB0eXBvIGluIGEgY29tbWVudC4KCkNoYW5nZXMgZnJvbSB2MToKIC0gbmV3 IHBhdGNoOwogLSByZW5hbWVkIFZDUFUyT1AsIGFzIHN1Z2dlc3RlZCBkdXJpbmcgdjEncyByZXZp ZXcgb2YgcGF0Y2ggMS4KCkNoYW5nZXMgZnJvbSB2MSBvZiB0aGUgbnVsbCBzY2hlZHVsZXIgc2Vy aWVzOgogLSByZW5hbWVkIHRoZSBoZWxwZXJzIHRvIGRvbV9zY2hlZHVsZXIoKSBhbmQgdmNwdV9z Y2hlZHVsZXIoKS4KLS0tCiB4ZW4vY29tbW9uL3NjaGVkdWxlLmMgfCAgIDU2ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAz NyBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L3NjaGVkdWxlLmMgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKaW5kZXggZDM0NGI3Yy4uNWI0NGE1 NiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jCisrKyBiL3hlbi9jb21tb24vc2No ZWR1bGUuYwpAQCAtNzcsOCArNzcsMjUgQEAgc3RhdGljIHN0cnVjdCBzY2hlZHVsZXIgX19yZWFk X21vc3RseSBvcHM7CiAgICAgICAgICAoKCAob3BzcHRyKS0+Zm4gIT0gTlVMTCApID8gKG9wc3B0 ciktPmZuKG9wc3B0ciwgIyNfX1ZBX0FSR1NfXyApICBcCiAgICAgICAgICAgOiAodHlwZW9mKChv cHNwdHIpLT5mbihvcHNwdHIsICMjX19WQV9BUkdTX18pKSkwICkKIAotI2RlZmluZSBET00yT1Ao X2QpICAgICgoKF9kKS0+Y3B1cG9vbCA9PSBOVUxMKSA/ICZvcHMgOiAoKF9kKS0+Y3B1cG9vbC0+ c2NoZWQpKQotc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2NoZWR1bGVyICpWQ1BVMk9QKGNvbnN0IHN0 cnVjdCB2Y3B1ICp2KQorc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2NoZWR1bGVyICpkb21fc2NoZWR1 bGVyKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgaWYgKCBsaWtlbHkoZC0+Y3B1cG9v bCAhPSBOVUxMKSApCisgICAgICAgIHJldHVybiBkLT5jcHVwb29sLT5zY2hlZDsKKworICAgIC8q CisgICAgICogSWYgZC0+Y3B1cG9vbCBpcyBOVUxMLCB0aGlzIGlzIHRoZSBpZGxlIGRvbWFpbi4g VGhpcyBpcyBzcGVjaWFsCisgICAgICogYmVjYXVzZSB0aGUgaWRsZSBkb21haW4gZG9lcyBub3Qg cmVhbGx5IGJlbG9uZyB0byBhbnkgY3B1cG9vbCwgYW5kLAorICAgICAqIGhlbmNlLCBkb2VzIG5v dCByZWFsbHkgaGF2ZSBhIHNjaGVkdWxlci4KKyAgICAgKgorICAgICAqIFRoaXMgaXMgKHNob3Vs ZCBiZSEpIG9ubHkgY2FsbGVkIGxpa2UgdGhpcyBmb3IgYWxsb2NhdGluZyB0aGUgaWRsZQorICAg ICAqIHZDUFVzIGZvciB0aGUgZmlyc3QgdGltZSwgZHVyaW5nIGJvb3QsIGluIHdoaWNoIGNhc2Ug d2hhdCB3ZSB3YW50CisgICAgICogaXMgdGhlIGRlZmF1bHQgc2NoZWR1bGVyIHRoYXQgaGFzIGJl ZW4sIGNob29zZW4gYXQgYm9vdC4KKyAgICAgKi8KKyAgICBBU1NFUlQoaXNfaWRsZV9kb21haW4o ZCkpOworICAgIHJldHVybiAmb3BzOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzY2hlZHVs ZXIgKnZjcHVfc2NoZWR1bGVyKGNvbnN0IHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHN0cnVjdCBk b21haW4gKmQgPSB2LT5kb21haW47CiAKQEAgLTI2MCw3ICsyNzcsOCBAQCBpbnQgc2NoZWRfaW5p dF92Y3B1KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgcHJvY2Vzc29yKQogICAgIGluaXRf dGltZXIoJnYtPnBvbGxfdGltZXIsIHBvbGxfdGltZXJfZm4sCiAgICAgICAgICAgICAgICB2LCB2 LT5wcm9jZXNzb3IpOwogCi0gICAgdi0+c2NoZWRfcHJpdiA9IFNDSEVEX09QKERPTTJPUChkKSwg YWxsb2NfdmRhdGEsIHYsIGQtPnNjaGVkX3ByaXYpOworICAgIHYtPnNjaGVkX3ByaXYgPSBTQ0hF RF9PUChkb21fc2NoZWR1bGVyKGQpLCBhbGxvY192ZGF0YSwgdiwKKwkJICAgICAgICAgICAgIGQt PnNjaGVkX3ByaXYpOwogICAgIGlmICggdi0+c2NoZWRfcHJpdiA9PSBOVUxMICkKICAgICAgICAg cmV0dXJuIDE7CiAKQEAgLTI3Miw3ICsyOTAsNyBAQCBpbnQgc2NoZWRfaW5pdF92Y3B1KHN0cnVj dCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgcHJvY2Vzc29yKQogICAgIH0KICAgICBlbHNlCiAgICAg ewotICAgICAgICBTQ0hFRF9PUChET00yT1AoZCksIGluc2VydF92Y3B1LCB2KTsKKyAgICAgICAg U0NIRURfT1AoZG9tX3NjaGVkdWxlcihkKSwgaW5zZXJ0X3ZjcHUsIHYpOwogICAgIH0KIAogICAg IHJldHVybiAwOwpAQCAtMzI2LDcgKzM0NCw3IEBAIGludCBzY2hlZF9tb3ZlX2RvbWFpbihzdHJ1 Y3QgZG9tYWluICpkLCBzdHJ1Y3QgY3B1cG9vbCAqYykKIAogICAgIGRvbWFpbl9wYXVzZShkKTsK IAotICAgIG9sZF9vcHMgPSBET00yT1AoZCk7CisgICAgb2xkX29wcyA9IGRvbV9zY2hlZHVsZXIo ZCk7CiAgICAgb2xkX2RvbWRhdGEgPSBkLT5zY2hlZF9wcml2OwogCiAgICAgZm9yX2VhY2hfdmNw dSAoIGQsIHYgKQpAQCAtMzg5LDggKzQwNyw4IEBAIHZvaWQgc2NoZWRfZGVzdHJveV92Y3B1KHN0 cnVjdCB2Y3B1ICp2KQogICAgIGtpbGxfdGltZXIoJnYtPnBvbGxfdGltZXIpOwogICAgIGlmICgg dGVzdF9hbmRfY2xlYXJfYm9vbCh2LT5pc191cmdlbnQpICkKICAgICAgICAgYXRvbWljX2RlYygm cGVyX2NwdShzY2hlZHVsZV9kYXRhLCB2LT5wcm9jZXNzb3IpLnVyZ2VudF9jb3VudCk7Ci0gICAg U0NIRURfT1AoVkNQVTJPUCh2KSwgcmVtb3ZlX3ZjcHUsIHYpOwotICAgIFNDSEVEX09QKFZDUFUy T1AodiksIGZyZWVfdmRhdGEsIHYtPnNjaGVkX3ByaXYpOworICAgIFNDSEVEX09QKHZjcHVfc2No ZWR1bGVyKHYpLCByZW1vdmVfdmNwdSwgdik7CisgICAgU0NIRURfT1AodmNwdV9zY2hlZHVsZXIo diksIGZyZWVfdmRhdGEsIHYtPnNjaGVkX3ByaXYpOwogfQogCiBpbnQgc2NoZWRfaW5pdF9kb21h aW4oc3RydWN0IGRvbWFpbiAqZCwgaW50IHBvb2xpZCkKQEAgLTQwNCw3ICs0MjIsNyBAQCBpbnQg c2NoZWRfaW5pdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgaW50IHBvb2xpZCkKIAogICAgIFND SEVEX1NUQVRfQ1JBTksoZG9tX2luaXQpOwogICAgIFRSQUNFXzFEKFRSQ19TQ0hFRF9ET01fQURE LCBkLT5kb21haW5faWQpOwotICAgIHJldHVybiBTQ0hFRF9PUChET00yT1AoZCksIGluaXRfZG9t YWluLCBkKTsKKyAgICByZXR1cm4gU0NIRURfT1AoZG9tX3NjaGVkdWxlcihkKSwgaW5pdF9kb21h aW4sIGQpOwogfQogCiB2b2lkIHNjaGVkX2Rlc3Ryb3lfZG9tYWluKHN0cnVjdCBkb21haW4gKmQp CkBAIC00MTMsNyArNDMxLDcgQEAgdm9pZCBzY2hlZF9kZXN0cm95X2RvbWFpbihzdHJ1Y3QgZG9t YWluICpkKQogCiAgICAgU0NIRURfU1RBVF9DUkFOSyhkb21fZGVzdHJveSk7CiAgICAgVFJBQ0Vf MUQoVFJDX1NDSEVEX0RPTV9SRU0sIGQtPmRvbWFpbl9pZCk7Ci0gICAgU0NIRURfT1AoRE9NMk9Q KGQpLCBkZXN0cm95X2RvbWFpbiwgZCk7CisgICAgU0NIRURfT1AoZG9tX3NjaGVkdWxlcihkKSwg ZGVzdHJveV9kb21haW4sIGQpOwogCiAgICAgY3B1cG9vbF9ybV9kb21haW4oZCk7CiB9CkBAIC00 MzIsNyArNDUwLDcgQEAgdm9pZCB2Y3B1X3NsZWVwX25vc3luYyhzdHJ1Y3QgdmNwdSAqdikKICAg ICAgICAgaWYgKCB2LT5ydW5zdGF0ZS5zdGF0ZSA9PSBSVU5TVEFURV9ydW5uYWJsZSApCiAgICAg ICAgICAgICB2Y3B1X3J1bnN0YXRlX2NoYW5nZSh2LCBSVU5TVEFURV9vZmZsaW5lLCBOT1coKSk7 CiAKLSAgICAgICAgU0NIRURfT1AoVkNQVTJPUCh2KSwgc2xlZXAsIHYpOworICAgICAgICBTQ0hF RF9PUCh2Y3B1X3NjaGVkdWxlcih2KSwgc2xlZXAsIHYpOwogICAgIH0KIAogICAgIHZjcHVfc2No ZWR1bGVfdW5sb2NrX2lycXJlc3RvcmUobG9jaywgZmxhZ3MsIHYpOwpAQCAtNDYxLDcgKzQ3OSw3 IEBAIHZvaWQgdmNwdV93YWtlKHN0cnVjdCB2Y3B1ICp2KQogICAgIHsKICAgICAgICAgaWYgKCB2 LT5ydW5zdGF0ZS5zdGF0ZSA+PSBSVU5TVEFURV9ibG9ja2VkICkKICAgICAgICAgICAgIHZjcHVf cnVuc3RhdGVfY2hhbmdlKHYsIFJVTlNUQVRFX3J1bm5hYmxlLCBOT1coKSk7Ci0gICAgICAgIFND SEVEX09QKFZDUFUyT1AodiksIHdha2UsIHYpOworICAgICAgICBTQ0hFRF9PUCh2Y3B1X3NjaGVk dWxlcih2KSwgd2FrZSwgdik7CiAgICAgfQogICAgIGVsc2UgaWYgKCAhKHYtPnBhdXNlX2ZsYWdz ICYgVlBGX2Jsb2NrZWQpICkKICAgICB7CkBAIC01MTYsOCArNTM0LDggQEAgc3RhdGljIHZvaWQg dmNwdV9tb3ZlX2xvY2tlZChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IG5ld19jcHUpCiAg ICAgICogQWN0dWFsIENQVSBzd2l0Y2ggdG8gbmV3IENQVS4gIFRoaXMgaXMgc2FmZSBiZWNhdXNl IHRoZSBsb2NrCiAgICAgICogcG9pbnRlciBjYW50JyBjaGFuZ2Ugd2hpbGUgdGhlIGN1cnJlbnQg bG9jayBpcyBoZWxkLgogICAgICAqLwotICAgIGlmICggVkNQVTJPUCh2KS0+bWlncmF0ZSApCi0g ICAgICAgIFNDSEVEX09QKFZDUFUyT1AodiksIG1pZ3JhdGUsIHYsIG5ld19jcHUpOworICAgIGlm ICggdmNwdV9zY2hlZHVsZXIodiktPm1pZ3JhdGUgKQorICAgICAgICBTQ0hFRF9PUCh2Y3B1X3Nj aGVkdWxlcih2KSwgbWlncmF0ZSwgdiwgbmV3X2NwdSk7CiAgICAgZWxzZQogICAgICAgICB2LT5w cm9jZXNzb3IgPSBuZXdfY3B1OwogfQpAQCAtNTgzLDcgKzYwMSw3IEBAIHN0YXRpYyB2b2lkIHZj cHVfbWlncmF0ZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAg ICAgICAgICAgLyogU2VsZWN0IGEgbmV3IENQVS4gKi8KLSAgICAgICAgICAgIG5ld19jcHUgPSBT Q0hFRF9PUChWQ1BVMk9QKHYpLCBwaWNrX2NwdSwgdik7CisgICAgICAgICAgICBuZXdfY3B1ID0g U0NIRURfT1AodmNwdV9zY2hlZHVsZXIodiksIHBpY2tfY3B1LCB2KTsKICAgICAgICAgICAgIGlm ICggKG5ld19sb2NrID09IHBlcl9jcHUoc2NoZWR1bGVfZGF0YSwgbmV3X2NwdSkuc2NoZWR1bGVf bG9jaykgJiYKICAgICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB2LT5k b21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAt Njg1LDcgKzcwMyw3IEBAIHZvaWQgcmVzdG9yZV92Y3B1X2FmZmluaXR5KHN0cnVjdCBkb21haW4g KmQpCiAgICAgICAgIHNwaW5fdW5sb2NrX2lycShsb2NrKTs7CiAKICAgICAgICAgbG9jayA9IHZj cHVfc2NoZWR1bGVfbG9ja19pcnEodik7Ci0gICAgICAgIHYtPnByb2Nlc3NvciA9IFNDSEVEX09Q KFZDUFUyT1AodiksIHBpY2tfY3B1LCB2KTsKKyAgICAgICAgdi0+cHJvY2Vzc29yID0gU0NIRURf T1AodmNwdV9zY2hlZHVsZXIodiksIHBpY2tfY3B1LCB2KTsKICAgICAgICAgc3Bpbl91bmxvY2tf aXJxKGxvY2spOwogICAgIH0KIApAQCAtOTc1LDcgKzk5Myw3IEBAIGxvbmcgdmNwdV95aWVsZCh2 b2lkKQogICAgIHN0cnVjdCB2Y3B1ICogdj1jdXJyZW50OwogICAgIHNwaW5sb2NrX3QgKmxvY2sg PSB2Y3B1X3NjaGVkdWxlX2xvY2tfaXJxKHYpOwogCi0gICAgU0NIRURfT1AoVkNQVTJPUCh2KSwg eWllbGQsIHYpOworICAgIFNDSEVEX09QKHZjcHVfc2NoZWR1bGVyKHYpLCB5aWVsZCwgdik7CiAg ICAgdmNwdV9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHYpOwogCiAgICAgU0NIRURfU1RBVF9D UkFOSyh2Y3B1X3lpZWxkKTsKQEAgLTEyODgsNyArMTMwNiw3IEBAIGxvbmcgc2NoZWRfYWRqdXN0 KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3NjaGVkdWxlcl9vcCAqb3ApCiAg ICAgaWYgKCByZXQgKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgaWYgKCBvcC0+c2NoZWRf aWQgIT0gRE9NMk9QKGQpLT5zY2hlZF9pZCApCisgICAgaWYgKCBvcC0+c2NoZWRfaWQgIT0gZG9t X3NjaGVkdWxlcihkKS0+c2NoZWRfaWQgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAogICAg IHN3aXRjaCAoIG9wLT5jbWQgKQpAQCAtMTMwNCw3ICsxMzIyLDcgQEAgbG9uZyBzY2hlZF9hZGp1 c3Qoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGxfc2NoZWR1bGVyX29wICpvcCkK IAogICAgIC8qIE5COiB0aGUgcGx1Z2dhYmxlIHNjaGVkdWxlciBjb2RlIG5lZWRzIHRvIHRha2Ug Y2FyZQogICAgICAqIG9mIGxvY2tpbmcgYnkgaXRzZWxmLiAqLwotICAgIGlmICggKHJldCA9IFND SEVEX09QKERPTTJPUChkKSwgYWRqdXN0LCBkLCBvcCkpID09IDAgKQorICAgIGlmICggKHJldCA9 IFNDSEVEX09QKGRvbV9zY2hlZHVsZXIoZCksIGFkanVzdCwgZCwgb3ApKSA9PSAwICkKICAgICAg ICAgVFJBQ0VfMUQoVFJDX1NDSEVEX0FESkRPTSwgZC0+ZG9tYWluX2lkKTsKIAogICAgIHJldHVy biByZXQ7CkBAIC0xNDgyLDcgKzE1MDAsNyBAQCB2b2lkIGNvbnRleHRfc2F2ZWQoc3RydWN0IHZj cHUgKnByZXYpCiAgICAgLyogQ2hlY2sgZm9yIG1pZ3JhdGlvbiByZXF1ZXN0IC9hZnRlci8gY2xl YXJpbmcgcnVubmluZyBmbGFnLiAqLwogICAgIHNtcF9tYigpOwogCi0gICAgU0NIRURfT1AoVkNQ VTJPUChwcmV2KSwgY29udGV4dF9zYXZlZCwgcHJldik7CisgICAgU0NIRURfT1AodmNwdV9zY2hl ZHVsZXIocHJldiksIGNvbnRleHRfc2F2ZWQsIHByZXYpOwogCiAgICAgaWYgKCB1bmxpa2VseShw cmV2LT5wYXVzZV9mbGFncyAmIFZQRl9taWdyYXRpbmcpICkKICAgICAgICAgdmNwdV9taWdyYXRl KHByZXYpOwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=