From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v2 1/2] xen: credit1: fix a race when picking initial pCPU for a vCPU Date: Thu, 18 Aug 2016 12:00:52 +0200 Message-ID: <147151445223.29674.955105994328843699.stgit@Solace.fritz.box> References: <147151337343.29674.1081345215393715232.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 1baK87-0006Ep-VH for xen-devel@lists.xenproject.org; Thu, 18 Aug 2016 10:00:56 +0000 Received: by mail-wm0-f66.google.com with SMTP id i5so4590537wmg.2 for ; Thu, 18 Aug 2016 03:00:54 -0700 (PDT) In-Reply-To: <147151337343.29674.1081345215393715232.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: George Dunlap , Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org SW4gdGhlIENyZWRpdDEgaHVuayBvZiA5ZjM1OGRkZDY5NDYzICgieGVuOiBIYXZlCnNjaGVkdWxl cnMgcmV2aXNlIGluaXRpYWwgcGxhY2VtZW50IikgY3NjaGVkX2NwdV9waWNrKCkKaXMgY2FsbGVk IHdpdGhvdXQgdGFraW5nIHRoZSBydW5xdWV1ZSBsb2NrIG9mIHRoZQoodGVtcG9yYXJ5KSBwQ1BV IHRoYXQgdGhlIHZDUFUgaGFzIGJlZW4gYXNzaWduZWQgdG8KKGUuZy4sIGluIFhFTl9ET01DVExf bWF4X3ZjcHVzKS4KCkhvd2V2ZXIsIGFsdGhvdWdoICdoaWRkZW4nIGluIHRoZSBJU19SVU5RX0lE TEUoKSBtYWNybywKdGhhdCBmdW5jdGlvbiBkb2VzIGFjY2VzcyB0aGUgcnVucSAoZm9yIGRvaW5n IGxvYWQKYmFsYW5jaW5nIGNhbGN1bGF0aW9ucykuIFR3byBzY2VuYXJpb3MgYXJlIHBvc3NpYmxl OgogMSkgd2UgYXJlIG9uIGNwdSBYLCBhbmQgSVNfUlVOUV9JRExFKCkgcGVla3MgYXQgY3B1J3MK ICAgIFggb3duIHJ1bnE7CiAyKSB3ZSBhcmUgb24gY3B1IFgsIGJ1dCBJU19SVU5RX0lETEUoKSBw ZWVrcyBhdCBzb21lCiAgICBvdGhlciBjcHUncyBydW5xLgoKU2NlbmFyaW8gMikgYWJzb2x1dGVs eSByZXF1aWVzIHRoYXQgdGhlIGFwcHJvcHJpYXRlCnJ1bnEgbG9jayBpcyB0YWtlbi4gU2NlbmFy aW8gMSkgd29ya3MgZXZlbiB3aXRob3V0CnRha2luZyB0aGUgY3B1J3Mgb3duIHJ1bnEgbG9jaywg YW5kIHRoaXMgaXMgaW1wb3J0YW50CmZvciB0aGUgY2FzZSB3aGVuIF9jc2NoZWRfcGlja19jcHUo KSBpcyBjYWxsZWQgZnJvbQpjc2NoZWRfdmNwdV9hY2N0KCkgd2hpY2ggaW4gdHVybiBpcyBjYWxs ZWQgYnkKY3NjaGVkX3RpY2soKS4KClJhY2VzIGhhdmUgYmVlbiBvYnNlcnZlZCBhbmQgcmVwb3J0 ZWQgKGJ5IGJvdGggWGVuU2VydmVyCm93biB0ZXN0aW5nIGFuZCBPU1NUZXN0IFsxXSksIGluIHRo ZSBmb3JtIG9mCklTX1JVTlFfSURMRSgpIGZhbGxpbmcgb3ZlciBMSVNUX1BPSVNPTiwgYmVjYXVz ZSB3ZSdyZQpub3QgY3VycmVudGx5IGhvbGRpbmcgdGhlIHByb3BlciBsb2NrLCBpbgpjc2NoZWRf dmNwdV9pbnNlcnQoKSwgd2hlbiBzY2VuYXJpbyAxKSBvY2N1cnMuCgpTaW5jZSB0aGlzIGlzIGFs bCB2ZXJ5IHRyaWNreSwgaW4gYWRkaXRpb24gdG8gZml4IHRoaW5ncywKYWRkIGJvdGggYW4gQVNT RVJUKCkgYW5kIGEgY29tbWVudCBpbiBJU19SVU5RX0lETEUoKSAod2hpY2gKaXMgYWxzbyBiZWNv bWluZyBzdGF0aWMgaW5saW5lIGluc3RlYWQgb2YgbWFjcm8pLgoKWzFdIGh0dHBzOi8vbGlzdHMu eGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTA4L21zZzAyMTQ0Lmh0bWwKClJl cG9ydGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KLS0t CkNjOiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBBbmRy ZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPEpC ZXVsaWNoQHN1c2UuY29tPgotLS0KQ2hhbmdlcyBmcm9tIHYxOgogLSBtYWNybyBJU19SVU5RX0lE TEUoKSB0byBzdGF0aWMgaW5saW5lIGlzX3J1bnFfaWRsZSgpLCBhcyBzdWdnZXN0ZWQKICAgZHVy aW5nIHJldmlldzsKIC0gYWRkIGFuIEFTU0VSVCgpIGFuZCBhIGNvbW1lbnQsIGFzIHN1Z2dlc3Rl ZCBkdXJpbmcgcmV2aWV3OwogLSB0YWtlIGludG8gYWNjb3VudCB3aGF0J3MgZGVzY3JpYmVkIGlu IHRoZSBjaGFuZ2Vsb2cgYXMgInNjZW5hcmlvIDEpIiwKICAgd2hpY2ggd2Fzbid0IGJlaW5nIGNv bnNpZGVyZWQgaW4gdjEuCi0tLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYyB8ICAgMzggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMyBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2No ZWRfY3JlZGl0LmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCmluZGV4IDIyMGZmMGQuLmRh YWNlODEgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMKKysrIGIveGVuL2Nv bW1vbi9zY2hlZF9jcmVkaXQuYwpAQCAtODQsOSArODQsNiBAQAogI2RlZmluZSBDU0NIRURfVkNQ VShfdmNwdSkgICgoc3RydWN0IGNzY2hlZF92Y3B1ICopIChfdmNwdSktPnNjaGVkX3ByaXYpCiAj ZGVmaW5lIENTQ0hFRF9ET00oX2RvbSkgICAgKChzdHJ1Y3QgY3NjaGVkX2RvbSAqKSAoX2RvbSkt PnNjaGVkX3ByaXYpCiAjZGVmaW5lIFJVTlEoX2NwdSkgICAgICAgICAgKCYoQ1NDSEVEX1BDUFUo X2NwdSktPnJ1bnEpKQotLyogSXMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgX2NwdSdzIHJ1bnEgaXRz IGlkbGUgdmNwdT8gKi8KLSNkZWZpbmUgSVNfUlVOUV9JRExFKF9jcHUpICAobGlzdF9lbXB0eShS VU5RKF9jcHUpKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2lkbGVfdmNw dShfX3J1bnFfZWxlbShSVU5RKF9jcHUpLT5uZXh0KS0+dmNwdSkpCiAKIAogLyoKQEAgLTI0OCw2 ICsyNDUsMzMgQEAgX19ydW5xX2VsZW0oc3RydWN0IGxpc3RfaGVhZCAqZWxlbSkKICAgICByZXR1 cm4gbGlzdF9lbnRyeShlbGVtLCBzdHJ1Y3QgY3NjaGVkX3ZjcHUsIHJ1bnFfZWxlbSk7CiB9CiAK Ky8qIElzIHRoZSBmaXJzdCBlbGVtZW50IG9mIGNwdSdzIHJ1bnEgKGlmIGFueSkgY3B1J3MgaWRs ZSB2Y3B1PyAqLworc3RhdGljIGlubGluZSBib29sX3QgaXNfcnVucV9pZGxlKHVuc2lnbmVkIGlu dCBjcHUpCit7CisgICAgLyoKKyAgICAgKiBJZiB3ZSBhcmUgb24gY3B1LCBhbmQgd2UgYXJlIHBl ZWtpbmcgYXQgb3VyIG93biBydW5xIHdoaWxlIGNwdSBpdHNlbGYKKyAgICAgKiBpcyBub3QgaWRs ZSwgdGhhdCdzIGZpbmUgZXZlbiBpZiB3ZSBkb24ndCBob2xkIHRoZSBydW5xIGxvY2suIEluIGZh Y3QsCisgICAgICogdGhlIGZhY3QgdGhhdCB0aGVyZSBpcyBhIChub24gaWRsZSEpIHZjcHUgcnVu bmluZyBtZWFucyB0aGF0IGF0IGxlYXN0CisgICAgICogdGhlIGlkbGUgdmNwdSBpcyBpbiB0aGUg cnVucS4gQW5kIHNpbmNlIG9ubHkgY3B1IGl0c2VsZiAodmlhIHdvcmsKKyAgICAgKiBzdGVhbGlu ZykgY2FuIGFkZCBzdHVmZiB0byB0aGUgcnVucSwgYW5kIG5vIG90aGVyIGNwdSB3aWxsIGV2ZXIg c3RlYWwKKyAgICAgKiBvdXIgaWRsZSB2Y3B1LCB0aGF0IG1ha3MgdGhlIHJ1bnEgbWFuaXB1bGF0 aW9ucyBkb25lIGJlbG93IHNhZmUsIGV2ZW4KKyAgICAgKiB3aXRob3V0IGxvY2tzLgorICAgICAq CisgICAgICogT24gdGhlIG90aGVyIGhhbmQsIGlmIHdlJ3JlIHBlZWtpbmcgYXQgYW5vdGhlciBj cHUncyBydW5xLCB3ZSBtdXN0IGhvbGQKKyAgICAgKiBpdHMgdGhlIHByb3BlciBydW5xIGxvY2su CisgICAgICoKKyAgICAgKiBBcyBhIG1hdHRlciBvZiBmYWN0LCB0aGUgZm9ybWVyIHNjZW5hcmlv IGRlc2NyaWJlcyB3aGF0IGhhcHBlbnMgd2hlbgorICAgICAqIF9jc2hjZWRfY3B1X3BpY2soKSAo d2hpY2ggdGhlbiBjYWxscyB1cykgaXMgY2FsbGVkIGZyb20gY3NjaGVkX3RpY2soKSwKKyAgICAg KiB0aGUgbGF0dGVyIG9uZSBkZXNjcmliZXMgd2hhdCBhY3R1YWxseSBoYXBwZW4gd2hlbiBpdCBp cyBjYWxsZWQgZnJvbQorICAgICAqIGNzY2hlZF92Y3B1X2luc2VydCgpLgorICAgICAqLworICAg IEFTU0VSVCgoIWlzX2lkbGVfdmNwdShjdXJyX29uX2NwdShjcHUpKSAmJiBjcHUgPT0gc21wX3By b2Nlc3Nvcl9pZCgpKSB8fAorICAgICAgICAgICBzcGluX2lzX2xvY2tlZChwZXJfY3B1KHNjaGVk dWxlX2RhdGEsIGNwdSkuc2NoZWR1bGVfbG9jaykpOworCisgICAgcmV0dXJuIGxpc3RfZW1wdHko UlVOUShjcHUpKSB8fAorICAgICAgICAgICBpc19pZGxlX3ZjcHUoX19ydW5xX2VsZW0oUlVOUShj cHUpLT5uZXh0KS0+dmNwdSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZAogX19ydW5xX2luc2Vy dChzdHJ1Y3QgY3NjaGVkX3ZjcHUgKnN2YykKIHsKQEAgLTc3MSw3ICs3OTUsNyBAQCBfY3NjaGVk X2NwdV9waWNrKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjLCBi b29sX3QgY29tbWl0KQogICAgICAgICAgKiBydW5uYWJsZSB2Y3B1IG9uIGNwdSwgd2UgYWRkIGNw dSB0byB0aGUgaWRsZXJzLgogICAgICAgICAgKi8KICAgICAgICAgY3B1bWFza19hbmQoJmlkbGVy cywgJmNwdV9vbmxpbmVfbWFwLCBDU0NIRURfUFJJVihvcHMpLT5pZGxlcnMpOwotICAgICAgICBp ZiAoIHZjLT5wcm9jZXNzb3IgPT0gY3B1ICYmIElTX1JVTlFfSURMRShjcHUpICkKKyAgICAgICAg aWYgKCB2Yy0+cHJvY2Vzc29yID09IGNwdSAmJiBpc19ydW5xX2lkbGUoY3B1KSApCiAgICAgICAg ICAgICBfX2NwdW1hc2tfc2V0X2NwdShjcHUsICZpZGxlcnMpOwogICAgICAgICBjcHVtYXNrX2Fu ZCgmY3B1cywgJmNwdXMsICZpZGxlcnMpOwogCkBAIC05OTgsOSArMTAyMiwxMyBAQCBjc2NoZWRf dmNwdV9pbnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMp CiAKICAgICBCVUdfT04oIGlzX2lkbGVfdmNwdSh2YykgKTsKIAotICAgIC8qIFRoaXMgaXMgc2Fm ZSBiZWNhdXNlIHZjIGlzbid0IHlldCBiZWluZyBzY2hlZHVsZWQgKi8KKyAgICAvKiBjc2NoZWRf Y3B1X3BpY2soKSBsb29rcyBpbiB2Yy0+cHJvY2Vzc29yJ3MgcnVucSwgc28gd2UgbmVlZCB0aGUg bG9jay4gKi8KKyAgICBsb2NrID0gdmNwdV9zY2hlZHVsZV9sb2NrX2lycSh2Yyk7CisKICAgICB2 Yy0+cHJvY2Vzc29yID0gY3NjaGVkX2NwdV9waWNrKG9wcywgdmMpOwogCisgICAgc3Bpbl91bmxv Y2tfaXJxKGxvY2spOworCiAgICAgbG9jayA9IHZjcHVfc2NoZWR1bGVfbG9ja19pcnEodmMpOwog CiAgICAgaWYgKCAhX192Y3B1X29uX3J1bnEoc3ZjKSAmJiB2Y3B1X3J1bm5hYmxlKHZjKSAmJiAh dmMtPmlzX3J1bm5pbmcgKQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=