From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH 7/9] libxl: Make killing of device model asynchronous Date: Fri, 23 Nov 2018 17:15:00 +0000 Message-ID: <20181123171502.29519-7-george.dunlap@citrix.com> References: <20181123171502.29519-1-george.dunlap@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gQF2x-0001Co-1N for xen-devel@lists.xenproject.org; Fri, 23 Nov 2018 17:15:15 +0000 In-Reply-To: <20181123171502.29519-1-george.dunlap@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Wei Liu , George Dunlap List-Id: xen-devel@lists.xenproject.org T3IgYXQgbGVhc3QsIGdpdmUgaXQgYW4gYXN5bmNocm9ub3VzIGludGVyZmFjZSBzbyB0aGF0IHdl IGNhbiBtYWtlIGl0CmFjdHVhbGx5IGFzeW5jaHJvbm91cyBpbiBzdWJzZXF1ZW50IHBhdGNoZXMu CgpDcmVhdGUgc3RhdGUgc3RydWN0dXJlcyBhbmQgY2FsbGJhY2sgZnVuY3Rpb24gc2lnbmF0dXJl cy4gIEFkZCB0aGUKc3RhdGUgc3RydWN0dXJlIHRvIGxpYnhsX19kZXN0cm95X2RvbWlkX3N0YXRl LiAgQnJlYWsKbGlieGxfX2Rlc3Ryb3lfZG9taWQgZG93biBpbnRvIHR3byBmdW5jdGlvbnMuCgpO byBmdW5jdGlvbmFsIGNoYW5nZSBpbnRlbmRlZC4KClNpZ25lZC1vZmYtYnk6IEdlb3JnZSBEdW5s YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KLS0tCkNDOiBJYW4gSmFja3NvbiA8aWFuLmph Y2tzb25AY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQog dG9vbHMvbGlieGwvbGlieGxfZG0uYyAgICAgICB8ICA5ICsrKysrKy0tCiB0b29scy9saWJ4bC9s aWJ4bF9kb21haW4uYyAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t CiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgMjAgKysrKysrKysrKysrKysrKy0tCiAz IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCmlu ZGV4IDNlN2QyNzM4MTIuLjhmN2ExZDc1MjQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhs X2RtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwpAQCAtMjY1MSwxOSArMjY1MSwyNCBA QCBvdXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgbGlieGxfX2Rlc3Ryb3lfZGV2aWNlX21v ZGVsKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkKQordm9pZCBsaWJ4bF9fZGVzdHJveV9k ZXZpY2VfbW9kZWwobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX2Rlc3Ryb3lfZGV2aWNlbW9kZWxfc3RhdGUgKmRkbXMpCiB7CisgICAgU1RB VEVfQU9fR0MoZGRtcy0+YW8pOwogICAgIGludCByYzsKKyAgICBpbnQgZG9taWQgPSBkZG1zLT5k b21pZDsKICAgICBjaGFyICpwYXRoID0gREVWSUNFX01PREVMX1hTX1BBVEgoZ2MsIExJQlhMX1RP T0xTVEFDS19ET01JRCwgZG9taWQsICIiKTsKKyAgICAKICAgICBpZiAoIXhzX3JtKENUWC0+eHNo LCBYQlRfTlVMTCwgcGF0aCkpCiAgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLCAieHNfcm0gZmFp bGVkIGZvciAlcyIsIHBhdGgpOworICAgIAogICAgIC8qIFdlIHNob3VsZCB0cnkgdG8gZGVzdHJv eSB0aGUgZGV2aWNlIG1vZGVsIGFueXdheS4gKi8KICAgICByYyA9IGtpbGxfZGV2aWNlX21vZGVs KGdjLAogICAgICAgICAgICAgICBHQ1NQUklOVEYoIi9sb2NhbC9kb21haW4vJWQvaW1hZ2UvZGV2 aWNlLW1vZGVsLXBpZCIsIGRvbWlkKSk7CiAgICAgCiAgICAgbGlieGxfX3FtcF9jbGVhbnVwKGdj LCBkb21pZCk7CiAKLSAgICByZXR1cm4gcmM7CisgICAgZGRtcy0+Y2FsbGJhY2soZWdjLCBkZG1z LCByYyk7CiB9CiAKIC8qIFJldHVybiAwIGlmIG5vIGRtIG5lZWRlZCwgMSBpZiBuZWVkZWQgYW5k IDwwIGlmIGVycm9yLiAqLwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tYWluLmMg Yi90b29scy9saWJ4bC9saWJ4bF9kb21haW4uYwppbmRleCBkNDZiOTdkZWRmLi4wNDMzMDQyMzkz IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb21haW4uYworKysgYi90b29scy9saWJ4 bC9saWJ4bF9kb21haW4uYwpAQCAtMTAwOCw2ICsxMDA4LDEwIEBAIHN0YXRpYyB2b2lkIGRlc3Ry b3lfZmluaXNoX2NoZWNrKGxpYnhsX19lZ2MgKmVnYywKIH0KIAogLyogQ2FsbGJhY2tzIGZvciBs aWJ4bF9fZGVzdHJveV9kb21pZCAqLworc3RhdGljIHZvaWQgZG1fZGVzdHJveV9jYihsaWJ4bF9f ZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXN0cm95X2Rldmlj ZW1vZGVsX3N0YXRlICpkZG1zLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwor CiBzdGF0aWMgdm9pZCBkZXZpY2VzX2Rlc3Ryb3lfY2IobGlieGxfX2VnYyAqZWdjLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2VzX3JlbW92ZV9zdGF0ZSAqZHJz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7CkBAIC0xMDY2LDE2ICsx MDcwLDE4IEBAIHZvaWQgbGlieGxfX2Rlc3Ryb3lfZG9taWQobGlieGxfX2VnYyAqZWdjLCBsaWJ4 bF9fZGVzdHJveV9kb21pZF9zdGF0ZSAqZGlzKQogICAgIGlmIChyYyA8IDApIHsKICAgICAgICAg TE9HRVZEKEVSUk9SLCByYywgZG9taWQsICJ4Y19kb21haW5fcGF1c2UgZmFpbGVkIik7CiAgICAg fQorCiAgICAgaWYgKGRtX3ByZXNlbnQpIHsKLSAgICAgICAgaWYgKGxpYnhsX19kZXN0cm95X2Rl dmljZV9tb2RlbChnYywgZG9taWQpIDwgMCkKLSAgICAgICAgICAgIExPR0QoRVJST1IsIGRvbWlk LCAibGlieGxfX2Rlc3Ryb3lfZGV2aWNlX21vZGVsIGZhaWxlZCIpOworICAgICAgICBkaXMtPmRk bXMuYW8gPSBhbzsKKyAgICAgICAgZGlzLT5kZG1zLmRvbWlkID0gZG9taWQ7CisgICAgICAgIGRp cy0+ZGRtcy5jYWxsYmFjayA9IGRtX2Rlc3Ryb3lfY2I7CisgICAgICAgIAorICAgICAgICBsaWJ4 bF9fZGVzdHJveV9kZXZpY2VfbW9kZWwoZWdjLCAmZGlzLT5kZG1zKTsKKyAgICAgICAgcmV0dXJu OworICAgIH0gZWxzZSB7CisgICAgICAgIGRtX2Rlc3Ryb3lfY2IoZWdjLCAmZGlzLT5kZG1zLCAw KTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBkaXMtPmRycy5hbyA9IGFvOwotICAgIGRp cy0+ZHJzLmRvbWlkID0gZG9taWQ7Ci0gICAgZGlzLT5kcnMuY2FsbGJhY2sgPSBkZXZpY2VzX2Rl c3Ryb3lfY2I7Ci0gICAgZGlzLT5kcnMuZm9yY2UgPSAxOwotICAgIGxpYnhsX19kZXZpY2VzX2Rl c3Ryb3koZWdjLCAmZGlzLT5kcnMpOwotICAgIHJldHVybjsKIAogb3V0OgogICAgIGFzc2VydChy Yyk7CkBAIC0xMDgzLDYgKzEwODksMjQgQEAgb3V0OgogICAgIHJldHVybjsKIH0KIAorc3RhdGlj IHZvaWQgZG1fZGVzdHJveV9jYihsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX19kZXN0cm95X2RldmljZW1vZGVsX3N0YXRlICpkZG1zLAorICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgbGlieGxfX2Rlc3Ryb3lfZG9taWRfc3Rh dGUgKmRpcyA9IENPTlRBSU5FUl9PRihkZG1zLCAqZGlzLCBkZG1zKTsKKyAgICBTVEFURV9BT19H QyhkaXMtPmFvKTsKKyAgICB1aW50MzJfdCBkb21pZCA9IGRpcy0+ZG9taWQ7CisKKyAgICBpZiAo cmMgPCAwKQorICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwgImxpYnhsX19kZXN0cm95X2Rldmlj ZV9tb2RlbCBmYWlsZWQiKTsKKworICAgIGRpcy0+ZHJzLmFvID0gYW87CisgICAgZGlzLT5kcnMu ZG9taWQgPSBkb21pZDsKKyAgICBkaXMtPmRycy5jYWxsYmFjayA9IGRldmljZXNfZGVzdHJveV9j YjsKKyAgICBkaXMtPmRycy5mb3JjZSA9IDE7CisgICAgbGlieGxfX2RldmljZXNfZGVzdHJveShl Z2MsICZkaXMtPmRycyk7Cit9CisKIHN0YXRpYyB2b2lkIGRldmljZXNfZGVzdHJveV9jYihsaWJ4 bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rldmlj ZXNfcmVtb3ZlX3N0YXRlICpkcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IHJjKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggODUzYTRmM2Q4OC4uODk5YTg2ZTg0YiAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4 bF9pbnRlcm5hbC5oCkBAIC0xNzA1LDggKzE3MDUsNiBAQCBfaGlkZGVuIGludCBsaWJ4bF9fd2Fp dF9mb3JfZGV2aWNlX21vZGVsX2RlcHJlY2F0ZWQobGlieGxfX2djICpnYywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJkYXRh KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2hlY2tfY2FsbGJhY2tf dXNlcmRhdGEpOwogCi1faGlkZGVuIGludCBsaWJ4bF9fZGVzdHJveV9kZXZpY2VfbW9kZWwobGli eGxfX2djICpnYywgdWludDMyX3QgZG9taWQpOwotCiBfaGlkZGVuIGNvbnN0IGxpYnhsX3ZuY19p bmZvICpsaWJ4bF9fZG1fdm5jKGNvbnN0IGxpYnhsX2RvbWFpbl9jb25maWcgKmdfY2ZnKTsKIAog X2hpZGRlbiBjaGFyICpsaWJ4bF9fYWJzX3BhdGgobGlieGxfX2djICpnYywgY29uc3QgY2hhciAq cywgY29uc3QgY2hhciAqcGF0aCk7CkBAIC0zNjcyLDYgKzM2NzAsNyBAQCBleHRlcm4gY29uc3Qg c3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkZXZpY2VfdHlwZV90YmxbXTsKIAogdHlwZWRlZiBz dHJ1Y3QgbGlieGxfX2RvbWFpbl9kZXN0cm95X3N0YXRlIGxpYnhsX19kb21haW5fZGVzdHJveV9z dGF0ZTsKIHR5cGVkZWYgc3RydWN0IGxpYnhsX19kZXN0cm95X2RvbWlkX3N0YXRlIGxpYnhsX19k ZXN0cm95X2RvbWlkX3N0YXRlOwordHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2Rlc3Ryb3lfZGV2aWNl bW9kZWxfc3RhdGUgbGlieGxfX2Rlc3Ryb3lfZGV2aWNlbW9kZWxfc3RhdGU7CiB0eXBlZGVmIHN0 cnVjdCBsaWJ4bF9fZGV2aWNlc19yZW1vdmVfc3RhdGUgbGlieGxfX2RldmljZXNfcmVtb3ZlX3N0 YXRlOwogCiB0eXBlZGVmIHZvaWQgbGlieGxfX2RvbWFpbl9kZXN0cm95X2NiKGxpYnhsX19lZ2Mg KmVnYywKQEAgLTM2ODIsNiArMzY4MSwxMCBAQCB0eXBlZGVmIHZvaWQgbGlieGxfX2RvbWlkX2Rl c3Ryb3lfY2IobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX19kZXN0cm95X2RvbWlkX3N0YXRlICpkaXMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIAordHlwZWRlZiB2b2lkIGxpYnhsX19kZXZp Y2Vtb2RlbF9kZXN0cm95X2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fZGVzdHJveV9kZXZpY2Vtb2RlbF9zdGF0ZSAqZGRtcywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOworCiB0eXBlZGVm IHZvaWQgbGlieGxfX2RldmljZXNfcmVtb3ZlX2NhbGxiYWNrKGxpYnhsX19lZ2MgKmVnYywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZXNf cmVtb3ZlX3N0YXRlICpkcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCByYyk7CkBAIC0zNjk3LDYgKzM3MDAsMTQgQEAgc3RydWN0IGxpYnhsX19kZXZp Y2VzX3JlbW92ZV9zdGF0ZSB7CiAgICAgaW50IG51bV9kZXZpY2VzOwogfTsKIAorc3RydWN0IGxp YnhsX19kZXN0cm95X2RldmljZW1vZGVsX3N0YXRlIHsKKyAgICAvKiBmaWxsZWQgaW4gYnkgdXNl ciAqLworICAgIGxpYnhsX19hbyAqYW87CisgICAgdWludDMyX3QgZG9taWQ7CisgICAgbGlieGxf X2RldmljZW1vZGVsX2Rlc3Ryb3lfY2IgKmNhbGxiYWNrOworICAgIC8qIHByaXZhdGUgdG8gaW1w bGVtZW50YXRpb24gKi8KK307CisKIHN0cnVjdCBsaWJ4bF9fZGVzdHJveV9kb21pZF9zdGF0ZSB7 CiAgICAgLyogZmlsbGVkIGluIGJ5IHVzZXIgKi8KICAgICBsaWJ4bF9fYW8gKmFvOwpAQCAtMzcw NCw2ICszNzE1LDcgQEAgc3RydWN0IGxpYnhsX19kZXN0cm95X2RvbWlkX3N0YXRlIHsKICAgICBs aWJ4bF9fZG9taWRfZGVzdHJveV9jYiAqY2FsbGJhY2s7CiAgICAgLyogcHJpdmF0ZSB0byBpbXBs ZW1lbnRhdGlvbiAqLwogICAgIGxpYnhsX19kZXZpY2VzX3JlbW92ZV9zdGF0ZSBkcnM7CisgICAg bGlieGxfX2Rlc3Ryb3lfZGV2aWNlbW9kZWxfc3RhdGUgZGRtczsKICAgICBsaWJ4bF9fZXZfY2hp bGQgZGVzdHJveWVyOwogICAgIGJvb2wgc29mdF9yZXNldDsKIH07CkBAIC0zNzM1LDYgKzM3NDcs MTAgQEAgX2hpZGRlbiB2b2lkIGxpYnhsX19kb21haW5fZGVzdHJveShsaWJ4bF9fZWdjICplZ2Ms CiBfaGlkZGVuIHZvaWQgbGlieGxfX2Rlc3Ryb3lfZG9taWQobGlieGxfX2VnYyAqZWdjLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXN0cm95X2RvbWlkX3N0YXRl ICpkaXMpOwogCisvKiBVc2VkIHRvIGRldHJveSB0aGUgZGV2aWNlIG1vZGVsICovCitfaGlkZGVu IHZvaWQgbGlieGxfX2Rlc3Ryb3lfZGV2aWNlX21vZGVsKGxpYnhsX19lZ2MgKmVnYywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rlc3Ryb3lfZGV2aWNl bW9kZWxfc3RhdGUgKmRkbXMpOworCiAvKiBFbnRyeSBwb2ludCBmb3IgZGV2aWNlcyBkZXN0cnVj dGlvbiAqLwogX2hpZGRlbiB2b2lkIGxpYnhsX19kZXZpY2VzX2Rlc3Ryb3kobGlieGxfX2VnYyAq ZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZXNf cmVtb3ZlX3N0YXRlICpkcnMpOwotLSAKMi4xOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==