From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v2 4/5] xen: sched_null: support for hard affinity Date: Fri, 07 Apr 2017 02:34:15 +0200 Message-ID: <149152525510.31941.6625917268878264420.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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cwHr2-0005oz-84 for xen-devel@lists.xenproject.org; Fri, 07 Apr 2017 00:34:20 +0000 Received: by mail-wr0-f194.google.com with SMTP id t20so15671658wra.2 for ; Thu, 06 Apr 2017 17:34:17 -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: Stefano Stabellini , Jonathan Davies , Julien Grall , George Dunlap , Marcus Granado List-Id: xen-devel@lists.xenproject.org QXMgYSAocnVkaW1lbnRhbCkgd2F5IG9mIGRpcmVjdGluZyBhbmQgYWZmZWN0aW5nIHRoZQpwbGFj ZW1lbnQgbG9naWMgaW1wbGVtZW50ZWQgYnkgdGhlIHNjaGVkdWxlciwgc3VwcG9ydAp2Q1BVIGhh cmQgYWZmaW5pdHkuCgpCYXNpY2FsbHksIGEgdkNQVSB3aWxsIG5vdyBiZSBhc3NpZ25lZCBvbmx5 IHRvIGEgcENQVQp0aGF0IGlzIHBhcnQgb2YgaXRzIG93biBoYXJkIGFmZmluaXR5LiBJZiBzdWNo IHBDUFUocykKaXMgKGFyZSkgYnVzeSwgdGhlIHZDUFUgd2lsbCB3YWl0LCBsaWtlIGl0IGhhcHBl bnMKd2hlbiB0aGVyZSBhcmUgbm8gZnJlZSBwQ1BVcy4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZh Z2dpb2xpIDxkYXJpby5mYWdnaW9saUBjaXRyaXguY29tPgotLS0KQ2M6IEdlb3JnZSBEdW5sYXAg PGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFu b0BhcG9yZXRvLmNvbT4KQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNj OiBKb25hdGhhbiBEYXZpZXMgPEpvbmF0aGFuLkRhdmllc0BjaXRyaXguY29tPgpDYzogTWFyY3Vz IEdyYW5hZG8gPG1hcmN1cy5ncmFuYWRvQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIGZyb20gdjE6 Ci0gY29kaW5nIHN0eWxlIGZpeGVzIChyZW1vdmVkIHNvbWUgaGFyZCB0YWJzKTsKLSBiZXR0ZXIg c2lnbmF0dXJlIGZvciBjaGVja19udmNfYWZmaW5pdHkoKSAoYWxzbyByZW5hbWVkIGluCiAgdmNw dV9jaGVja19hZmZpbml0eSgpKTsKLSBmaXhlZCBidWcgaW4gbnVsbF92Y3B1X3JlbW92ZSgpIHVz aW5nIHVuaW5pdGlhbGl6ZWQgY3B1bWFzay4KLS0tCiB4ZW4vY29tbW9uL3NjaGVkX251bGwuYyB8 ICAgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS94ZW4vY29tbW9uL3NjaGVkX251bGwuYyBiL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCmlu ZGV4IGMyYzQxODIuLjk2NjUyYTAgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfbnVsbC5j CisrKyBiL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCkBAIC0xMTUsNiArMTE1LDE0IEBAIHN0YXRp YyBpbmxpbmUgc3RydWN0IG51bGxfZG9tICpudWxsX2RvbShjb25zdCBzdHJ1Y3QgZG9tYWluICpk KQogICAgIHJldHVybiBkLT5zY2hlZF9wcml2OwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgdmNw dV9jaGVja19hZmZpbml0eShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGNwdSkKK3sKKyAg ICBjcHVtYXNrX2FuZChjcHVtYXNrX3NjcmF0Y2hfY3B1KGNwdSksIHYtPmNwdV9oYXJkX2FmZmlu aXR5LAorICAgICAgICAgICAgICAgIGNwdXBvb2xfZG9tYWluX2NwdW1hc2sodi0+ZG9tYWluKSk7 CisKKyAgICByZXR1cm4gY3B1bWFza190ZXN0X2NwdShjcHUsIGNwdW1hc2tfc2NyYXRjaF9jcHUo Y3B1KSk7Cit9CisKIHN0YXRpYyBpbnQgbnVsbF9pbml0KHN0cnVjdCBzY2hlZHVsZXIgKm9wcykK IHsKICAgICBzdHJ1Y3QgbnVsbF9wcml2YXRlICpwcnY7CkBAIC0yNzYsMTYgKzI4NCwyMiBAQCBz dGF0aWMgdW5zaWduZWQgaW50IHBpY2tfY3B1KHN0cnVjdCBudWxsX3ByaXZhdGUgKnBydiwgc3Ry dWN0IHZjcHUgKnYpCiAKICAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQocGVyX2NwdShzY2hlZHVs ZV9kYXRhLCBjcHUpLnNjaGVkdWxlX2xvY2spKTsKIAorICAgIGNwdW1hc2tfYW5kKGNwdW1hc2tf c2NyYXRjaF9jcHUoY3B1KSwgdi0+Y3B1X2hhcmRfYWZmaW5pdHksIGNwdXMpOworCiAgICAgLyoK LSAgICAgKiBJZiBvdXIgcHJvY2Vzc29yIGlzIGZyZWUsIG9yIHdlIGFyZSBhc3NpZ25lZCB0byBp dCwgYW5kIGl0IGlzCi0gICAgICogYWxzbyBzdGlsbCB2YWxpZCwganVzdCBnbyBmb3IgaXQuCisg ICAgICogSWYgb3VyIHByb2Nlc3NvciBpcyBmcmVlLCBvciB3ZSBhcmUgYXNzaWduZWQgdG8gaXQs IGFuZCBpdCBpcyBhbHNvCisgICAgICogc3RpbGwgdmFsaWQgYW5kIHBhcnQgb2Ygb3VyIGFmZmlu aXR5LCBqdXN0IGdvIGZvciBpdC4KKyAgICAgKiAoTm90ZSB0aGF0IHdlIG1heSBjYWxsIHZjcHVf Y2hlY2tfYWZmaW5pdHkoKSwgYnV0IHdlIGRlbGliZXJhdGVseQorICAgICAqIGRvbid0LCBzbyB3 ZSBnZXQgdG8ga2VlcCBpbiB0aGUgc2NyYXRjaCBjcHVtYXNrIHdoYXQgd2UgaGF2ZSBqdXN0Cisg ICAgICogcHV0IGluIGl0LikKICAgICAgKi8KICAgICBpZiAoIGxpa2VseSgocGVyX2NwdShucGMs IGNwdSkudmNwdSA9PSBOVUxMIHx8IHBlcl9jcHUobnBjLCBjcHUpLnZjcHUgPT0gdikKLSAgICAg ICAgICAgICAgICAmJiBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgY3B1cykpICkKKyAgICAgICAgICAg ICAgICAmJiBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgY3B1bWFza19zY3JhdGNoX2NwdShjcHUpKSkg KQogICAgICAgICByZXR1cm4gY3B1OwogCi0gICAgLyogSWYgbm90LCBqdXN0IGdvIGZvciBhIHZh bGlkIGZyZWUgcENQVSwgaWYgYW55ICovCi0gICAgY3B1bWFza19hbmQoY3B1bWFza19zY3JhdGNo X2NwdShjcHUpLCAmcHJ2LT5jcHVzX2ZyZWUsIGNwdXMpOworICAgIC8qIElmIG5vdCwganVzdCBn byBmb3IgYSBmcmVlIHBDUFUsIHdpdGhpbiBvdXIgYWZmaW5pdHksIGlmIGFueSAqLworICAgIGNw dW1hc2tfYW5kKGNwdW1hc2tfc2NyYXRjaF9jcHUoY3B1KSwgY3B1bWFza19zY3JhdGNoX2NwdShj cHUpLAorICAgICAgICAgICAgICAgICZwcnYtPmNwdXNfZnJlZSk7CiAgICAgbmV3X2NwdSA9IGNw dW1hc2tfZmlyc3QoY3B1bWFza19zY3JhdGNoX2NwdShjcHUpKTsKIAogICAgIGlmICggbGlrZWx5 KG5ld19jcHUgIT0gbnJfY3B1X2lkcykgKQpAQCAtMzAyLDcgKzMxNiw4IEBAIHN0YXRpYyB1bnNp Z25lZCBpbnQgcGlja19jcHUoc3RydWN0IG51bGxfcHJpdmF0ZSAqcHJ2LCBzdHJ1Y3QgdmNwdSAq dikKICAgICAgKiBhcyB3ZSB3aWxsIGFjdHVhbGx5IGFzc2lnbiB0aGUgdkNQVSB0byB0aGUgcENQ VSB3ZSByZXR1cm4gZnJvbSBoZXJlLAogICAgICAqIG9ubHkgaWYgdGhlIHBDUFUgaXMgZnJlZS4K ICAgICAgKi8KLSAgICByZXR1cm4gY3B1bWFza19hbnkoY3B1cyk7CisgICAgY3B1bWFza19hbmQo Y3B1bWFza19zY3JhdGNoX2NwdShjcHUpLCBjcHVzLCB2LT5jcHVfaGFyZF9hZmZpbml0eSk7Cisg ICAgcmV0dXJuIGNwdW1hc2tfYW55KGNwdW1hc2tfc2NyYXRjaF9jcHUoY3B1KSk7CiB9CiAKIHN0 YXRpYyB2b2lkIHZjcHVfYXNzaWduKHN0cnVjdCBudWxsX3ByaXZhdGUgKnBydiwgc3RydWN0IHZj cHUgKnYsCkBAIC0zNjEsNiArMzc2LDcgQEAgc3RhdGljIHZvaWQgbnVsbF92Y3B1X2luc2VydChj b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHN0cnVj dCBudWxsX3ByaXZhdGUgKnBydiA9IG51bGxfcHJpdihvcHMpOwogICAgIHN0cnVjdCBudWxsX3Zj cHUgKm52YyA9IG51bGxfdmNwdSh2KTsKKyAgICB1bnNpZ25lZCBpbnQgY3B1OwogICAgIHNwaW5s b2NrX3QgKmxvY2s7CiAKICAgICBBU1NFUlQoIWlzX2lkbGVfdmNwdSh2KSk7CkBAIC0zNjgsMjMg KzM4NCwyNSBAQCBzdGF0aWMgdm9pZCBudWxsX3ZjcHVfaW5zZXJ0KGNvbnN0IHN0cnVjdCBzY2hl ZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnYpCiAgICAgbG9jayA9IHZjcHVfc2NoZWR1bGVfbG9j a19pcnEodik7CiAgcmV0cnk6CiAKLSAgICB2LT5wcm9jZXNzb3IgPSBwaWNrX2NwdShwcnYsIHYp OworICAgIGNwdSA9IHYtPnByb2Nlc3NvciA9IHBpY2tfY3B1KHBydiwgdik7CiAKICAgICBzcGlu X3VubG9jayhsb2NrKTsKIAogICAgIGxvY2sgPSB2Y3B1X3NjaGVkdWxlX2xvY2sodik7CiAKKyAg ICBjcHVtYXNrX2FuZChjcHVtYXNrX3NjcmF0Y2hfY3B1KGNwdSksIHYtPmNwdV9oYXJkX2FmZmlu aXR5LAorICAgICAgICAgICAgICAgIGNwdXBvb2xfZG9tYWluX2NwdW1hc2sodi0+ZG9tYWluKSk7 CisKICAgICAvKiBJZiB0aGUgcENQVSBpcyBmcmVlLCB3ZSBhc3NpZ24gdiB0byBpdCAqLwotICAg IGlmICggbGlrZWx5KHBlcl9jcHUobnBjLCB2LT5wcm9jZXNzb3IpLnZjcHUgPT0gTlVMTCkgKQor ICAgIGlmICggbGlrZWx5KHBlcl9jcHUobnBjLCBjcHUpLnZjcHUgPT0gTlVMTCkgKQogICAgIHsK ICAgICAgICAgLyoKICAgICAgICAgICogSW5zZXJ0IGlzIGZvbGxvd2VkIGJ5IHZjcHVfd2FrZSgp LCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gcG9rZQogICAgICAgICAgKiB0aGUgcGNwdSB3aXRoIHRo ZSBTQ0hFRFVMRV9TT0ZUSVJRLCBhcyB3YWtlIHdpbGwgZG8gdGhhdC4KICAgICAgICAgICovCi0g ICAgICAgIHZjcHVfYXNzaWduKHBydiwgdiwgdi0+cHJvY2Vzc29yKTsKKyAgICAgICAgdmNwdV9h c3NpZ24ocHJ2LCB2LCBjcHUpOwogICAgIH0KLSAgICBlbHNlIGlmICggY3B1bWFza19pbnRlcnNl Y3RzKCZwcnYtPmNwdXNfZnJlZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNw dXBvb2xfZG9tYWluX2NwdW1hc2sodi0+ZG9tYWluKSkgKQorICAgIGVsc2UgaWYgKCBjcHVtYXNr X2ludGVyc2VjdHMoJnBydi0+Y3B1c19mcmVlLCBjcHVtYXNrX3NjcmF0Y2hfY3B1KGNwdSkpICkK ICAgICB7CiAgICAgICAgIC8qCiAgICAgICAgICAqIElmIHRoZSBwQ1BVIGlzIG5vdCBmcmVlIChl LmcuLCBiZWNhdXNlIHdlIHJhY2VkIHdpdGggYW5vdGhlcgpAQCAtNDEzLDcgKzQzMSw2IEBAIHN0 YXRpYyB2b2lkIG51bGxfdmNwdV9pbnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBz dHJ1Y3QgdmNwdSAqdikKIHN0YXRpYyB2b2lkIF92Y3B1X3JlbW92ZShzdHJ1Y3QgbnVsbF9wcml2 YXRlICpwcnYsIHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHVuc2lnbmVkIGludCBjcHUgPSB2LT5w cm9jZXNzb3I7Ci0gICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKICAgICBzdHJ1Y3Qg bnVsbF92Y3B1ICp3dmM7CiAKICAgICBBU1NFUlQobGlzdF9lbXB0eSgmbnVsbF92Y3B1KHYpLT53 YWl0cV9lbGVtKSk7CkBAIC00MjUsNyArNDQyLDcgQEAgc3RhdGljIHZvaWQgX3ZjcHVfcmVtb3Zl KHN0cnVjdCBudWxsX3ByaXZhdGUgKnBydiwgc3RydWN0IHZjcHUgKnYpCiAgICAgICogSWYgeWVz LCB3ZSBhc3NpZ24gaXQgdG8gY3B1LCBpbiBzcGl0ZSBvZiB2LgogICAgICAqLwogICAgIHd2YyA9 IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmcHJ2LT53YWl0cSwgc3RydWN0IG51bGxfdmNwdSwg d2FpdHFfZWxlbSk7Ci0gICAgaWYgKCB3dmMgJiYgY3B1bWFza190ZXN0X2NwdShjcHUsIGNwdXBv b2xfZG9tYWluX2NwdW1hc2soZCkpICkKKyAgICBpZiAoIHd2YyAmJiB2Y3B1X2NoZWNrX2FmZmlu aXR5KHd2Yy0+dmNwdSwgY3B1KSApCiAgICAgewogICAgICAgICBsaXN0X2RlbF9pbml0KCZ3dmMt PndhaXRxX2VsZW0pOwogICAgICAgICB2Y3B1X2Fzc2lnbihwcnYsIHd2Yy0+dmNwdSwgY3B1KTsK QEAgLTU0NywxMSArNTY0LDEyIEBAIHN0YXRpYyB2b2lkIG51bGxfdmNwdV9taWdyYXRlKGNvbnN0 IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnYsCiAgICAgICogTGV0J3Mgbm93 IGNvbnNpZGVyIG5ld19jcHUsIHdoaWNoIGlzIHdoZXJlIHYgaXMgYmVpbmcgc2VudC4gSXQgY2Fu IGJlCiAgICAgICogZWl0aGVyIGZyZWUsIG9yIGhhdmUgYSB2Q1BVIGFscmVhZHkgYXNzaWduZWQg dG8gaXQuCiAgICAgICoKLSAgICAgKiBJbiB0aGUgZm9ybWVyIGNhc2UsIHdlIHNob3VsZCBhc3Np Z24gdiB0byBpdCwgYW5kIHRyeSB0byBnZXQgaXQgdG8gcnVuLgorICAgICAqIEluIHRoZSBmb3Jt ZXIgY2FzZSwgd2Ugc2hvdWxkIGFzc2lnbiB2IHRvIGl0LCBhbmQgdHJ5IHRvIGdldCBpdCB0byBy dW4sCisgICAgICogaWYgcG9zc2libGUsIGFjY29yZGluZyB0byBhZmZpbml0eS4KICAgICAgKgog ICAgICAqIEluIGxhdHRlciwgYWxsIHdlIGNhbiBkbyBpcyB0byBwYXJrIHYgaW4gdGhlIHdhaXRx dWV1ZS4KICAgICAgKi8KLSAgICBpZiAoIHBlcl9jcHUobnBjLCBuZXdfY3B1KS52Y3B1ID09IE5V TEwgKQorICAgIGlmICggcGVyX2NwdShucGMsIG5ld19jcHUpLnZjcHUgPT0gTlVMTCAmJiB2Y3B1 X2NoZWNrX2FmZmluaXR5KHYsIG5ld19jcHUpICkKICAgICB7CiAgICAgICAgIC8qIHYgbWlnaHQg aGF2ZSBiZWVuIGluIHRoZSB3YWl0cXVldWUsIHNvIHJlbW92ZSBpdCAqLwogICAgICAgICBzcGlu X2xvY2soJnBydi0+d2FpdHFfbG9jayk7CkBAIC02MzUsNyArNjUzLDcgQEAgc3RhdGljIHN0cnVj dCB0YXNrX3NsaWNlIG51bGxfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLAog ICAgIHsKICAgICAgICAgc3Bpbl9sb2NrKCZwcnYtPndhaXRxX2xvY2spOwogICAgICAgICB3dmMg PSBsaXN0X2ZpcnN0X2VudHJ5X29yX251bGwoJnBydi0+d2FpdHEsIHN0cnVjdCBudWxsX3ZjcHUs IHdhaXRxX2VsZW0pOwotICAgICAgICBpZiAoIHd2YyApCisgICAgICAgIGlmICggd3ZjICYmIHZj cHVfY2hlY2tfYWZmaW5pdHkod3ZjLT52Y3B1LCBjcHUpICkKICAgICAgICAgewogICAgICAgICAg ICAgdmNwdV9hc3NpZ24ocHJ2LCB3dmMtPnZjcHUsIGNwdSk7CiAgICAgICAgICAgICBsaXN0X2Rl bF9pbml0KCZ3dmMtPndhaXRxX2VsZW0pOwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=