From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v2 1/5] xen: sched: improve robustness (and rename) DOM2OP() Date: Fri, 07 Apr 2017 02:33:52 +0200 Message-ID: <149152523265.31941.6787732353764983034.stgit@Solace.fritz.box> References: <149152426922.31941.6054159629649244529.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cwHqe-0005gr-Kb for xen-devel@lists.xenproject.org; Fri, 07 Apr 2017 00:33:56 +0000 Received: by mail-wr0-f193.google.com with SMTP id u18so7640915wrc.1 for ; Thu, 06 Apr 2017 17:33:55 -0700 (PDT) In-Reply-To: <149152426922.31941.6054159629649244529.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 IDxkYXJpby5mYWdnaW9saUBjaXRyaXguY29tPgotLS0KQ2M6IEdlb3JnZSBEdW5sYXAgPGdlb3Jn ZS5kdW5sYXBAY2l0cml4LmNvbT4KQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4K Q2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCkNoYW5nZXMgZnJvbSB2MToK IC0gbmV3IHBhdGNoOwogLSByZW5hbWVkIFZDUFUyT1AsIGFzIHN1Z2dlc3RlZCBkdXJpbmcgdjEn cyByZXZpZXcgb2YgcGF0Y2ggMS4KCkNoYW5nZXMgZnJvbSB2MSBvZiB0aGUgbnVsbCBzY2hlZHVs ZXIgc2VyaWVzOgogLSByZW5hbWVkIHRoZSBoZWxwZXJzIHRvIGRvbV9zY2hlZHVsZXIoKSBhbmQg dmNwdV9zY2hlZHVsZXIoKS4KLS0tCiB4ZW4vY29tbW9uL3NjaGVkdWxlLmMgfCAgIDU2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAzNyBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v Y29tbW9uL3NjaGVkdWxlLmMgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKaW5kZXggZDM0NGI3Yy4u ZDY3MjI3ZiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jCisrKyBiL3hlbi9jb21t b24vc2NoZWR1bGUuYwpAQCAtNzcsOCArNzcsMjUgQEAgc3RhdGljIHN0cnVjdCBzY2hlZHVsZXIg X19yZWFkX21vc3RseSBvcHM7CiAgICAgICAgICAoKCAob3BzcHRyKS0+Zm4gIT0gTlVMTCApID8g KG9wc3B0ciktPmZuKG9wc3B0ciwgIyNfX1ZBX0FSR1NfXyApICBcCiAgICAgICAgICAgOiAodHlw ZW9mKChvcHNwdHIpLT5mbihvcHNwdHIsICMjX19WQV9BUkdTX18pKSkwICkKIAotI2RlZmluZSBE T00yT1AoX2QpICAgICgoKF9kKS0+Y3B1cG9vbCA9PSBOVUxMKSA/ICZvcHMgOiAoKF9kKS0+Y3B1 cG9vbC0+c2NoZWQpKQotc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2NoZWR1bGVyICpWQ1BVMk9QKGNv bnN0IHN0cnVjdCB2Y3B1ICp2KQorc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2NoZWR1bGVyICpkb21f c2NoZWR1bGVyKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgaWYgKCBsaWtlbHkoZC0+ Y3B1cG9vbCAhPSBOVUxMKSApCisgICAgICAgIHJldHVybiBkLT5jcHVwb29sLT5zY2hlZDsKKwor ICAgIC8qCisgICAgICogSWYgZC0+Y3B1cG9vbCBpcyBOVUxMLCB0aGlzIGlzIHRoZSBpZGxlIGRv bWFpbi4gVGhpcyBpcyBzcGVjaWFsCisgICAgICogYmVjYXVzZSB0aGUgaWRsZSBkb21haW4gZG9l cyBub3QgcmVhbGx5IGJvbG9uZyB0byBhbnkgY3B1cG9vbCwgYW5kLAorICAgICAqIGhlbmNlLCBk b2VzIG5vdCByZWFsbHkgaGF2ZSBhIHNjaGVkdWxlci4KKyAgICAgKgorICAgICAqIFRoaXMgaXMg KHNob3VsZCBiZSEpIG9ubHkgY2FsbGVkIGxpa2UgdGhpcyBmb3IgYWxsb2NhdGluZyB0aGUgaWRs ZQorICAgICAqIHZDUFVzIGZvciB0aGUgZmlyc3QgdGltZSwgZHVyaW5nIGJvb3QsIGluIHdoaWNo IGNhc2Ugd2hhdCB3ZSB3YW50CisgICAgICogaXMgdGhlIGRlZmF1bHQgc2NoZWR1bGVyIHRoYXQg aGFzIGJlZW4sIGNob29zZW4gYXQgYm9vdC4KKyAgICAgKi8KKyAgICBBU1NFUlQoaXNfaWRsZV9k b21haW4oZCkpOworICAgIHJldHVybiAmb3BzOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBz Y2hlZHVsZXIgKnZjcHVfc2NoZWR1bGVyKGNvbnN0IHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHN0 cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47CiAKQEAgLTI2MCw3ICsyNzcsOCBAQCBpbnQgc2No ZWRfaW5pdF92Y3B1KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgcHJvY2Vzc29yKQogICAg IGluaXRfdGltZXIoJnYtPnBvbGxfdGltZXIsIHBvbGxfdGltZXJfZm4sCiAgICAgICAgICAgICAg ICB2LCB2LT5wcm9jZXNzb3IpOwogCi0gICAgdi0+c2NoZWRfcHJpdiA9IFNDSEVEX09QKERPTTJP UChkKSwgYWxsb2NfdmRhdGEsIHYsIGQtPnNjaGVkX3ByaXYpOworICAgIHYtPnNjaGVkX3ByaXYg PSBTQ0hFRF9PUChkb21fc2NoZWR1bGVyKGQpLCBhbGxvY192ZGF0YSwgdiwKKwkJICAgICAgICAg ICAgIGQtPnNjaGVkX3ByaXYpOwogICAgIGlmICggdi0+c2NoZWRfcHJpdiA9PSBOVUxMICkKICAg ICAgICAgcmV0dXJuIDE7CiAKQEAgLTI3Miw3ICsyOTAsNyBAQCBpbnQgc2NoZWRfaW5pdF92Y3B1 KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgcHJvY2Vzc29yKQogICAgIH0KICAgICBlbHNl CiAgICAgewotICAgICAgICBTQ0hFRF9PUChET00yT1AoZCksIGluc2VydF92Y3B1LCB2KTsKKyAg ICAgICAgU0NIRURfT1AoZG9tX3NjaGVkdWxlcihkKSwgaW5zZXJ0X3ZjcHUsIHYpOwogICAgIH0K IAogICAgIHJldHVybiAwOwpAQCAtMzI2LDcgKzM0NCw3IEBAIGludCBzY2hlZF9tb3ZlX2RvbWFp bihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgY3B1cG9vbCAqYykKIAogICAgIGRvbWFpbl9wYXVz ZShkKTsKIAotICAgIG9sZF9vcHMgPSBET00yT1AoZCk7CisgICAgb2xkX29wcyA9IGRvbV9zY2hl ZHVsZXIoZCk7CiAgICAgb2xkX2RvbWRhdGEgPSBkLT5zY2hlZF9wcml2OwogCiAgICAgZm9yX2Vh Y2hfdmNwdSAoIGQsIHYgKQpAQCAtMzg5LDggKzQwNyw4IEBAIHZvaWQgc2NoZWRfZGVzdHJveV92 Y3B1KHN0cnVjdCB2Y3B1ICp2KQogICAgIGtpbGxfdGltZXIoJnYtPnBvbGxfdGltZXIpOwogICAg IGlmICggdGVzdF9hbmRfY2xlYXJfYm9vbCh2LT5pc191cmdlbnQpICkKICAgICAgICAgYXRvbWlj X2RlYygmcGVyX2NwdShzY2hlZHVsZV9kYXRhLCB2LT5wcm9jZXNzb3IpLnVyZ2VudF9jb3VudCk7 Ci0gICAgU0NIRURfT1AoVkNQVTJPUCh2KSwgcmVtb3ZlX3ZjcHUsIHYpOwotICAgIFNDSEVEX09Q KFZDUFUyT1AodiksIGZyZWVfdmRhdGEsIHYtPnNjaGVkX3ByaXYpOworICAgIFNDSEVEX09QKHZj cHVfc2NoZWR1bGVyKHYpLCByZW1vdmVfdmNwdSwgdik7CisgICAgU0NIRURfT1AodmNwdV9zY2hl ZHVsZXIodiksIGZyZWVfdmRhdGEsIHYtPnNjaGVkX3ByaXYpOwogfQogCiBpbnQgc2NoZWRfaW5p dF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgaW50IHBvb2xpZCkKQEAgLTQwNCw3ICs0MjIsNyBA QCBpbnQgc2NoZWRfaW5pdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgaW50IHBvb2xpZCkKIAog ICAgIFNDSEVEX1NUQVRfQ1JBTksoZG9tX2luaXQpOwogICAgIFRSQUNFXzFEKFRSQ19TQ0hFRF9E T01fQURELCBkLT5kb21haW5faWQpOwotICAgIHJldHVybiBTQ0hFRF9PUChET00yT1AoZCksIGlu aXRfZG9tYWluLCBkKTsKKyAgICByZXR1cm4gU0NIRURfT1AoZG9tX3NjaGVkdWxlcihkKSwgaW5p dF9kb21haW4sIGQpOwogfQogCiB2b2lkIHNjaGVkX2Rlc3Ryb3lfZG9tYWluKHN0cnVjdCBkb21h aW4gKmQpCkBAIC00MTMsNyArNDMxLDcgQEAgdm9pZCBzY2hlZF9kZXN0cm95X2RvbWFpbihzdHJ1 Y3QgZG9tYWluICpkKQogCiAgICAgU0NIRURfU1RBVF9DUkFOSyhkb21fZGVzdHJveSk7CiAgICAg VFJBQ0VfMUQoVFJDX1NDSEVEX0RPTV9SRU0sIGQtPmRvbWFpbl9pZCk7Ci0gICAgU0NIRURfT1Ao RE9NMk9QKGQpLCBkZXN0cm95X2RvbWFpbiwgZCk7CisgICAgU0NIRURfT1AoZG9tX3NjaGVkdWxl cihkKSwgZGVzdHJveV9kb21haW4sIGQpOwogCiAgICAgY3B1cG9vbF9ybV9kb21haW4oZCk7CiB9 CkBAIC00MzIsNyArNDUwLDcgQEAgdm9pZCB2Y3B1X3NsZWVwX25vc3luYyhzdHJ1Y3QgdmNwdSAq dikKICAgICAgICAgaWYgKCB2LT5ydW5zdGF0ZS5zdGF0ZSA9PSBSVU5TVEFURV9ydW5uYWJsZSAp CiAgICAgICAgICAgICB2Y3B1X3J1bnN0YXRlX2NoYW5nZSh2LCBSVU5TVEFURV9vZmZsaW5lLCBO T1coKSk7CiAKLSAgICAgICAgU0NIRURfT1AoVkNQVTJPUCh2KSwgc2xlZXAsIHYpOworICAgICAg ICBTQ0hFRF9PUCh2Y3B1X3NjaGVkdWxlcih2KSwgc2xlZXAsIHYpOwogICAgIH0KIAogICAgIHZj cHVfc2NoZWR1bGVfdW5sb2NrX2lycXJlc3RvcmUobG9jaywgZmxhZ3MsIHYpOwpAQCAtNDYxLDcg KzQ3OSw3IEBAIHZvaWQgdmNwdV93YWtlKHN0cnVjdCB2Y3B1ICp2KQogICAgIHsKICAgICAgICAg aWYgKCB2LT5ydW5zdGF0ZS5zdGF0ZSA+PSBSVU5TVEFURV9ibG9ja2VkICkKICAgICAgICAgICAg IHZjcHVfcnVuc3RhdGVfY2hhbmdlKHYsIFJVTlNUQVRFX3J1bm5hYmxlLCBOT1coKSk7Ci0gICAg ICAgIFNDSEVEX09QKFZDUFUyT1AodiksIHdha2UsIHYpOworICAgICAgICBTQ0hFRF9PUCh2Y3B1 X3NjaGVkdWxlcih2KSwgd2FrZSwgdik7CiAgICAgfQogICAgIGVsc2UgaWYgKCAhKHYtPnBhdXNl X2ZsYWdzICYgVlBGX2Jsb2NrZWQpICkKICAgICB7CkBAIC01MTYsOCArNTM0LDggQEAgc3RhdGlj IHZvaWQgdmNwdV9tb3ZlX2xvY2tlZChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IG5ld19j cHUpCiAgICAgICogQWN0dWFsIENQVSBzd2l0Y2ggdG8gbmV3IENQVS4gIFRoaXMgaXMgc2FmZSBi ZWNhdXNlIHRoZSBsb2NrCiAgICAgICogcG9pbnRlciBjYW50JyBjaGFuZ2Ugd2hpbGUgdGhlIGN1 cnJlbnQgbG9jayBpcyBoZWxkLgogICAgICAqLwotICAgIGlmICggVkNQVTJPUCh2KS0+bWlncmF0 ZSApCi0gICAgICAgIFNDSEVEX09QKFZDUFUyT1AodiksIG1pZ3JhdGUsIHYsIG5ld19jcHUpOwor ICAgIGlmICggdmNwdV9zY2hlZHVsZXIodiktPm1pZ3JhdGUgKQorICAgICAgICBTQ0hFRF9PUCh2 Y3B1X3NjaGVkdWxlcih2KSwgbWlncmF0ZSwgdiwgbmV3X2NwdSk7CiAgICAgZWxzZQogICAgICAg ICB2LT5wcm9jZXNzb3IgPSBuZXdfY3B1OwogfQpAQCAtNTgzLDcgKzYwMSw3IEBAIHN0YXRpYyB2 b2lkIHZjcHVfbWlncmF0ZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgICAgICAgICBicmVhazsK IAogICAgICAgICAgICAgLyogU2VsZWN0IGEgbmV3IENQVS4gKi8KLSAgICAgICAgICAgIG5ld19j cHUgPSBTQ0hFRF9PUChWQ1BVMk9QKHYpLCBwaWNrX2NwdSwgdik7CisgICAgICAgICAgICBuZXdf Y3B1ID0gU0NIRURfT1AodmNwdV9zY2hlZHVsZXIodiksIHBpY2tfY3B1LCB2KTsKICAgICAgICAg ICAgIGlmICggKG5ld19sb2NrID09IHBlcl9jcHUoc2NoZWR1bGVfZGF0YSwgbmV3X2NwdSkuc2No ZWR1bGVfbG9jaykgJiYKICAgICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1 LCB2LT5kb21haW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQogICAgICAgICAgICAgICAgIGJyZWFr OwpAQCAtNjg1LDcgKzcwMyw3IEBAIHZvaWQgcmVzdG9yZV92Y3B1X2FmZmluaXR5KHN0cnVjdCBk b21haW4gKmQpCiAgICAgICAgIHNwaW5fdW5sb2NrX2lycShsb2NrKTs7CiAKICAgICAgICAgbG9j ayA9IHZjcHVfc2NoZWR1bGVfbG9ja19pcnEodik7Ci0gICAgICAgIHYtPnByb2Nlc3NvciA9IFND SEVEX09QKFZDUFUyT1AodiksIHBpY2tfY3B1LCB2KTsKKyAgICAgICAgdi0+cHJvY2Vzc29yID0g U0NIRURfT1AodmNwdV9zY2hlZHVsZXIodiksIHBpY2tfY3B1LCB2KTsKICAgICAgICAgc3Bpbl91 bmxvY2tfaXJxKGxvY2spOwogICAgIH0KIApAQCAtOTc1LDcgKzk5Myw3IEBAIGxvbmcgdmNwdV95 aWVsZCh2b2lkKQogICAgIHN0cnVjdCB2Y3B1ICogdj1jdXJyZW50OwogICAgIHNwaW5sb2NrX3Qg KmxvY2sgPSB2Y3B1X3NjaGVkdWxlX2xvY2tfaXJxKHYpOwogCi0gICAgU0NIRURfT1AoVkNQVTJP UCh2KSwgeWllbGQsIHYpOworICAgIFNDSEVEX09QKHZjcHVfc2NoZWR1bGVyKHYpLCB5aWVsZCwg dik7CiAgICAgdmNwdV9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHYpOwogCiAgICAgU0NIRURf U1RBVF9DUkFOSyh2Y3B1X3lpZWxkKTsKQEAgLTEyODgsNyArMTMwNiw3IEBAIGxvbmcgc2NoZWRf YWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3NjaGVkdWxlcl9vcCAq b3ApCiAgICAgaWYgKCByZXQgKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgaWYgKCBvcC0+ c2NoZWRfaWQgIT0gRE9NMk9QKGQpLT5zY2hlZF9pZCApCisgICAgaWYgKCBvcC0+c2NoZWRfaWQg IT0gZG9tX3NjaGVkdWxlcihkKS0+c2NoZWRfaWQgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsK IAogICAgIHN3aXRjaCAoIG9wLT5jbWQgKQpAQCAtMTMwNCw3ICsxMzIyLDcgQEAgbG9uZyBzY2hl ZF9hZGp1c3Qoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGxfc2NoZWR1bGVyX29w ICpvcCkKIAogICAgIC8qIE5COiB0aGUgcGx1Z2dhYmxlIHNjaGVkdWxlciBjb2RlIG5lZWRzIHRv IHRha2UgY2FyZQogICAgICAqIG9mIGxvY2tpbmcgYnkgaXRzZWxmLiAqLwotICAgIGlmICggKHJl dCA9IFNDSEVEX09QKERPTTJPUChkKSwgYWRqdXN0LCBkLCBvcCkpID09IDAgKQorICAgIGlmICgg KHJldCA9IFNDSEVEX09QKGRvbV9zY2hlZHVsZXIoZCksIGFkanVzdCwgZCwgb3ApKSA9PSAwICkK ICAgICAgICAgVFJBQ0VfMUQoVFJDX1NDSEVEX0FESkRPTSwgZC0+ZG9tYWluX2lkKTsKIAogICAg IHJldHVybiByZXQ7CkBAIC0xNDgyLDcgKzE1MDAsNyBAQCB2b2lkIGNvbnRleHRfc2F2ZWQoc3Ry dWN0IHZjcHUgKnByZXYpCiAgICAgLyogQ2hlY2sgZm9yIG1pZ3JhdGlvbiByZXF1ZXN0IC9hZnRl ci8gY2xlYXJpbmcgcnVubmluZyBmbGFnLiAqLwogICAgIHNtcF9tYigpOwogCi0gICAgU0NIRURf T1AoVkNQVTJPUChwcmV2KSwgY29udGV4dF9zYXZlZCwgcHJldik7CisgICAgU0NIRURfT1AodmNw dV9zY2hlZHVsZXIocHJldiksIGNvbnRleHRfc2F2ZWQsIHByZXYpOwogCiAgICAgaWYgKCB1bmxp a2VseShwcmV2LT5wYXVzZV9mbGFncyAmIFZQRl9taWdyYXRpbmcpICkKICAgICAgICAgdmNwdV9t aWdyYXRlKHByZXYpOwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=