From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH 1/6] libxl: Make local_initiate_attach more rational Date: Mon, 6 Jul 2015 11:51:38 +0100 Message-ID: <1436179903-449-2-git-send-email-george.dunlap@eu.citrix.com> References: <1436179903-449-1-git-send-email-george.dunlap@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1436179903-449-1-git-send-email-george.dunlap@eu.citrix.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: xen-devel@lists.xen.org Cc: George Dunlap , Ian Jackson , Wei Liu , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhlcmUgYXJlIGEgbG90IG9mIHBhdGhzIHRocm91Z2gKbGlieGxfX2RldmljZV9kaXNrX2xvY2Fs X2luaXRpYXRlX2F0dGFjaCgpLCBidXQgdGhleSBhbGwgcmVhbGx5IGJvaWwKZG93biB0byBvbmUg dGhpbmc6IENhbiB3ZSBqdXN0IGFjY2VzcyB0aGUgZmlsZSBkaXJlY3RseSwgb3IgZG8gd2UgbmVl ZAp0byBhdHRhY2ggaXQ/CgpUaGUgcmVxdWlyZW1lbnRzIGZvciBkaXJlY3QgYWNjZXNzIGFyZSBm YWlybHkgc2ltcGxlOgoqIElzIHRoaXMgbG9jYWwgKGFzIG9wcG9zZWQgdG8gYSBkcml2ZXIgZG9t YWluKT8KKiBJcyB0aGlzIGEgcmF3IGZvcm1hdCAoYXMgb3Bwb3NlZCB0byBjb29rZWQpPwoqIERv ZXMgdGhpcyBoYXZlIG5vIHNjcmlwdHMgYXNzb2NpYXRlZCB3aXRoIGl0PwoKSWYgaXQgbWVldHMg YWxsIHRob3NlIHJlcXVpcmVtZW50cywgd2UgY2FuIGFjY2VzcyBpdCBkaXJlY3RseTsKb3RoZXJ3 aXNlIHdlIG5lZWQgdG8gYXR0YWNoIGl0LgoKVGhpcyBmaXhlcyBhIGJ1ZyB3aGVyZSBib290bG9h ZGVyIGV4ZWN1dGlvbiBmYWlscyBmb3IgZGlza3Mgd2l0aApob3RwbHVnIHNjcmlwdHMuCgpUaGlz IHNob3VsZCBmaXggYSB0aGVvcmV0aWNhbCBidWcgd2hlbiB1c2luZyBhIHFkaXNrIGJhY2tlbmQg aW4gYQpkcml2ZXIgZG9tYWluLiAoTm90IHRlc3RlZC4pCgpCYXNlZCBvbiBhIHBhdGNoIGJ5IFJv Z2VyIFBhdSBNb25uZSA8cm9nZXIucGF1QGNpdHJpeC5jb20+LgoKU2lnbmVkLW9mZi1ieTogR2Vv cmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgpBY2tlZC1ieTogUm9nZXIg UGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBJYW4gQ2FtcGJlbGwg PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgotLS0KQ0M6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBi ZWxsQGNpdHJpeC5jb20+CkNDOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AY2l0cml4LmNvbT4K Q0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9ubmUgPHJv Z2VyLnBhdUBjaXRyaXguY29tPgoKVGhpcyBpcyBpZGVudGljYWwgdG8gdGhlIHBhdGNoIEkgc2Vu dCBlYXJsaWVyLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdApJIGhhdmUgZml4ZWQgYSBidWlsZCBi eSByZW1vdmluZyB0aGUgKG5vdykgdW51c2VkIGN0eCB2YXJpYWJsZS4gIEdpdmVuCnRoZSBjaXJj dW1zdGFuY2VzIEkgaGF2ZSB0YWtlbiB0aGUgbGliZXJ0eSB0byByZXRhaW4gdGhlIEFja3MgYWJv dmUuCi0tLQogdG9vbHMvbGlieGwvbGlieGwuYyB8IDk4ICsrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0 aW9ucygrKSwgNzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwu YyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggZTlhMmQyNi4uOTI1NjNkYiAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC0zMDU4 LDcgKzMwNTgsNiBAQCB2b2lkIGxpYnhsX19kZXZpY2VfZGlza19sb2NhbF9pbml0aWF0ZV9hdHRh Y2gobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19kaXNrX2xvY2FsX3N0YXRlICpkbHMpCiB7CiAgICAgU1RBVEVfQU9fR0MoZGxzLT5h byk7Ci0gICAgbGlieGxfY3R4ICpjdHggPSBDVFg7CiAgICAgY2hhciAqZGV2ID0gTlVMTDsKICAg ICBpbnQgcmM7CiAgICAgY29uc3QgbGlieGxfZGV2aWNlX2Rpc2sgKmluX2Rpc2sgPSBkbHMtPmlu X2Rpc2s7CkBAIC0zMDc2LDU1ICszMDc1LDIxIEBAIHZvaWQgbGlieGxfX2RldmljZV9kaXNrX2xv Y2FsX2luaXRpYXRlX2F0dGFjaChsaWJ4bF9fZWdjICplZ2MsCiAgICAgcmMgPSBsaWJ4bF9fZGV2 aWNlX2Rpc2tfc2V0ZGVmYXVsdChnYywgZGlzayk7CiAgICAgaWYgKHJjKSBnb3RvIG91dDsKIAot ICAgIHN3aXRjaCAoZGlzay0+YmFja2VuZCkgewotICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFD S0VORF9QSFk6Ci0gICAgICAgICAgICBMSUJYTF9fTE9HKGN0eCwgTElCWExfX0xPR19ERUJVRywg ImxvY2FsbHkgYXR0YWNoaW5nIFBIWSBkaXNrICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAg ZGlzay0+cGRldl9wYXRoKTsKLSAgICAgICAgICAgIGRldiA9IGRpc2stPnBkZXZfcGF0aDsKLSAg ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9UQVA6Ci0g ICAgICAgICAgICBzd2l0Y2ggKGRpc2stPmZvcm1hdCkgewotICAgICAgICAgICAgY2FzZSBMSUJY TF9ESVNLX0ZPUk1BVF9SQVc6Ci0gICAgICAgICAgICAgICAgLyogb3B0aW1pc2UgYXdheSB0aGUg ZWFybHkgdGFwZGlzayBhdHRhY2ggaW4gdGhpcyBjYXNlICovCi0gICAgICAgICAgICAgICAgTElC WExfX0xPRyhjdHgsIExJQlhMX19MT0dfREVCVUcsICJsb2NhbGx5IGF0dGFjaGluZyIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICIgdGFwIGRpc2sgJXMgZGlyZWN0bHkgKGllIHdpdGhvdXQg dXNpbmcgYmxrdGFwKSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNrLT5wZGV2X3Bh dGgpOwotICAgICAgICAgICAgICAgIGRldiA9IGRpc2stPnBkZXZfcGF0aDsKLSAgICAgICAgICAg ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgTElCWExfRElTS19GT1JNQVRfVkhEOgotICAg ICAgICAgICAgICAgIGRldiA9IGxpYnhsX19ibGt0YXBfZGV2cGF0aChnYywgZGlzay0+cGRldl9w YXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNrLT5m b3JtYXQpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBMSUJYTF9E SVNLX0ZPUk1BVF9RQ09XOgotICAgICAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0ZPUk1BVF9RQ09X MjoKLSAgICAgICAgICAgICAgICBhYm9ydCgpOyAvKiBwcmV2ZW50ZWQgYnkgbGlieGxfX2Rldmlj ZV9kaXNrX3NldF9iYWNrZW5kICovCi0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg ICAgIExJQlhMX19MT0coY3R4LCBMSUJYTF9fTE9HX0VSUk9SLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgInVucmVjb2duaXplZCBkaXNrIGZvcm1hdDogJWQiLCBkaXNrLT5mb3JtYXQpOwot ICAgICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgICAgICBnb3RvIG91 dDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIExJQlhM X0RJU0tfQkFDS0VORF9RRElTSzoKLSAgICAgICAgICAgIGlmIChkaXNrLT5mb3JtYXQgIT0gTElC WExfRElTS19GT1JNQVRfUkFXKSB7Ci0gICAgICAgICAgICAgICAgbGlieGxfX3ByZXBhcmVfYW9f ZGV2aWNlKGFvLCAmZGxzLT5hb2Rldik7Ci0gICAgICAgICAgICAgICAgZGxzLT5hb2Rldi5jYWxs YmFjayA9IGxvY2FsX2RldmljZV9hdHRhY2hfY2I7Ci0gICAgICAgICAgICAgICAgZGV2aWNlX2Rp c2tfYWRkKGVnYywgTElCWExfVE9PTFNUQUNLX0RPTUlELCBkaXNrLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZGxzLT5hb2RldiwgbGlieGxfX2FsbG9jX3ZkZXYsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIGJsa2Rldl9zdGFydCk7Ci0gICAgICAg ICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBk ZXYgPSBkaXNrLT5wZGV2X3BhdGg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBMT0coREVC VUcsICJsb2NhbGx5IGF0dGFjaGluZyBxZGlzayAlcyIsIGRldik7Ci0gICAgICAgICAgICBicmVh azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIExJQlhMX19MT0coY3R4LCBMSUJYTF9f TE9HX0VSUk9SLCAidW5yZWNvZ25pemVkIGRpc2sgYmFja2VuZCAiCi0gICAgICAgICAgICAgICAg InR5cGU6ICVkIiwgZGlzay0+YmFja2VuZCk7Ci0gICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7 Ci0gICAgICAgICAgICBnb3RvIG91dDsKKyAgICAvKiBJZiB0aGlzIGlzIGluIGEgZHJpdmVyIGRv bWFpbiwgb3IgaXQncyBub3QgYSByYXcgZm9ybWF0LCBvciBpdCBpbnZvbHZlcworICAgICAqIHJ1 bm5pbmcgYSBzY3JpcHQsIHdlIGhhdmUgdG8gZG8gYSBsb2NhbCBhdHRhY2guICovCisgICAgaWYg KGRpc2stPmJhY2tlbmRfZG9tbmFtZSAhPSBOVUxMCisgICAgICAgIHx8IGRpc2stPmZvcm1hdCAh PSBMSUJYTF9ESVNLX0ZPUk1BVF9SQVcKKyAgICAgICAgfHwgZGlzay0+c2NyaXB0ICE9IE5VTEwp IHsKKyAgICAgICAgbGlieGxfX3ByZXBhcmVfYW9fZGV2aWNlKGFvLCAmZGxzLT5hb2Rldik7Cisg ICAgICAgIGRscy0+YW9kZXYuY2FsbGJhY2sgPSBsb2NhbF9kZXZpY2VfYXR0YWNoX2NiOworICAg ICAgICBkZXZpY2VfZGlza19hZGQoZWdjLCBMSUJYTF9UT09MU1RBQ0tfRE9NSUQsIGRpc2ssICZk bHMtPmFvZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2FsbG9jX3ZkZXYsICh2 b2lkICopIGJsa2Rldl9zdGFydCk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBMT0co REVCVUcsICJsb2NhbGx5IGF0dGFjaGluZyBSQVcgZGlzayAlcyIsIGRpc2stPnBkZXZfcGF0aCk7 CisgICAgZGV2ID0gZGlzay0+cGRldl9wYXRoOworCiAgICAgaWYgKGRldiAhPSBOVUxMKQogICAg ICAgICBkbHMtPmRpc2twYXRoID0gbGlieGxfX3N0cmR1cChnYywgZGV2KTsKIApAQCAtMzE1Nyw3 ICszMTIyLDcgQEAgc3RhdGljIHZvaWQgbG9jYWxfZGV2aWNlX2F0dGFjaF9jYihsaWJ4bF9fZWdj ICplZ2MsIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KQogICAgIH0KIAogICAgIGRldiA9IEdDU1BS SU5URigiL2Rldi8lcyIsIGRpc2stPnZkZXYpOwotICAgIExPRyhERUJVRywgImxvY2FsbHkgYXR0 YWNoaW5nIHFkaXNrICVzIiwgZGV2KTsKKyAgICBMT0coREVCVUcsICJsb2NhbGx5IGF0dGFjaGlu ZyBkaXNrICVzIiwgZGV2KTsKIAogICAgIHJjID0gbGlieGxfX2RldmljZV9mcm9tX2Rpc2soZ2Ms IExJQlhMX1RPT0xTVEFDS19ET01JRCwgZGlzaywgJmRldmljZSk7CiAgICAgaWYgKHJjIDwgMCkK QEAgLTMxOTYsMjkgKzMxNjEsMTggQEAgdm9pZCBsaWJ4bF9fZGV2aWNlX2Rpc2tfbG9jYWxfaW5p dGlhdGVfZGV0YWNoKGxpYnhsX19lZ2MgKmVnYywKIAogICAgIGlmICghZGxzLT5kaXNrcGF0aCkg Z290byBvdXQ7CiAKLSAgICBzd2l0Y2ggKGRpc2stPmJhY2tlbmQpIHsKLSAgICAgICAgY2FzZSBM SUJYTF9ESVNLX0JBQ0tFTkRfUURJU0s6Ci0gICAgICAgICAgICBpZiAoZGlzay0+dmRldiAhPSBO VUxMKSB7Ci0gICAgICAgICAgICAgICAgR0NORVcoZGV2aWNlKTsKLSAgICAgICAgICAgICAgICBy YyA9IGxpYnhsX19kZXZpY2VfZnJvbV9kaXNrKGdjLCBMSUJYTF9UT09MU1RBQ0tfRE9NSUQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNrLCBkZXZpY2Up OwotICAgICAgICAgICAgICAgIGlmIChyYyAhPSAwKSBnb3RvIG91dDsKLQotICAgICAgICAgICAg ICAgIGFvZGV2LT5hY3Rpb24gPSBMSUJYTF9fREVWSUNFX0FDVElPTl9SRU1PVkU7Ci0gICAgICAg ICAgICAgICAgYW9kZXYtPmRldiA9IGRldmljZTsKLSAgICAgICAgICAgICAgICBhb2Rldi0+Y2Fs bGJhY2sgPSBsb2NhbF9kZXZpY2VfZGV0YWNoX2NiOwotICAgICAgICAgICAgICAgIGFvZGV2LT5m b3JjZSA9IDA7Ci0gICAgICAgICAgICAgICAgbGlieGxfX2luaXRpYXRlX2RldmljZV9yZW1vdmUo ZWdjLCBhb2Rldik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAg ICAgICAgICAgLyogZGlzay0+dmRldiA9PSBOVUxMOyBmYWxsIHRocm91Z2ggKi8KLSAgICAgICAg ZGVmYXVsdDoKLSAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgKiBOb3RoaW5nIHRvIGRvIGZv ciBQSFlTVFlQRV9QSFkuCi0gICAgICAgICAgICAgKiBGb3Igb3RoZXIgZGV2aWNlIHR5cGVzIGFz c3VtZSB0aGF0IHRoZSBibGt0YXAyIHByb2Nlc3MgaXMKLSAgICAgICAgICAgICAqIG5lZWRlZCBi eSB0aGUgc29vbiB0byBiZSBzdGFydGVkIGRvbWFpbiBhbmQgZG8gbm90aGluZy4KLSAgICAgICAg ICAgICAqLwotICAgICAgICAgICAgZ290byBvdXQ7CisgICAgaWYgKGRpc2stPnZkZXYgIT0gTlVM TCkgeworICAgICAgICBHQ05FVyhkZXZpY2UpOworICAgICAgICByYyA9IGxpYnhsX19kZXZpY2Vf ZnJvbV9kaXNrKGdjLCBMSUJYTF9UT09MU1RBQ0tfRE9NSUQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGlzaywgZGV2aWNlKTsKKyAgICAgICAgaWYgKHJjICE9IDApIGdv dG8gb3V0OworICAgICAgICAKKyAgICAgICAgYW9kZXYtPmFjdGlvbiA9IExJQlhMX19ERVZJQ0Vf QUNUSU9OX1JFTU9WRTsKKyAgICAgICAgYW9kZXYtPmRldiA9IGRldmljZTsKKyAgICAgICAgYW9k ZXYtPmNhbGxiYWNrID0gbG9jYWxfZGV2aWNlX2RldGFjaF9jYjsKKyAgICAgICAgYW9kZXYtPmZv cmNlID0gMDsKKyAgICAgICAgbGlieGxfX2luaXRpYXRlX2RldmljZV9yZW1vdmUoZWdjLCBhb2Rl dik7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKIG91dDoKLS0gCjEuOS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK