From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v7 5/5] x86/ioreq server: Synchronously reset outstanding p2m_ioreq_server entries when an ioreq server unmaps. Date: Wed, 8 Mar 2017 21:32:30 +0800 Message-ID: <1488979950-10872-6-git-send-email-yu.c.zhang@linux.intel.com> References: <1488979950-10872-1-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1488979950-10872-1-git-send-email-yu.c.zhang@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: zhiyuan.lv@intel.com List-Id: xen-devel@lists.xenproject.org QWZ0ZXIgYW4gaW9yZXEgc2VydmVyIGhhcyB1bm1hcHBlZCwgdGhlIHJlbWFpbmluZyBwMm1faW9y ZXFfc2VydmVyCmVudHJpZXMgbmVlZCB0byBiZSByZXNldCBiYWNrIHRvIHAybV9yYW1fcncuIFRo aXMgcGF0Y2ggZG9lcyB0aGlzCnN5bmNocm9ub3VzbHkgYnkgaXRlcmF0aW5nIHRoZSBwMm0gdGFi bGUuCgpUaGUgc3luY2hyb25vdXMgcmVzZXR0aW5nIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHdlIG5l ZWQgdG8gZ3VhcmFudGVlCnRoZSBwMm0gdGFibGUgaXMgY2xlYW4gYmVmb3JlIGFub3RoZXIgaW9y ZXEgc2VydmVyIGlzIG1hcHBlZC4gQW5kCnNpbmNlIHRoZSBzd2VlcGluZyBvZiBwMm0gdGFibGUg Y291bGQgYmUgdGltZSBjb25zdW1pbmcsIGl0IGlzIGRvbmUKd2l0aCBoeXBlcmNhbGwgY29udGlu dWF0aW9uLgoKU2lnbmVkLW9mZi1ieTogWXUgWmhhbmcgPHl1LmMuemhhbmdAbGludXguaW50ZWwu Y29tPgotLS0KQ2M6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkNjOiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5j aXRyaXguY29tPgoKY2hhbmdlcyBpbiB2MTogCiAgLSBUaGlzIHBhdGNoIGlzIHNwbGl0dGVkIGZy b20gcGF0Y2ggNCBvZiBsYXN0IHZlcnNpb24uCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJv bSBKYW46IHVwZGF0ZSB0aGUgZ2ZuX3N0YXJ0IGZvcgogICAgd2hlbiB1c2UgaHlwZXJjYWxsIGNv bnRpbnVhdGlvbiB0byByZXNldCB0aGUgcDJtIHR5cGUuCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVu dHMgZnJvbSBKYW46IHVzZSBtaW4oKSB0byBjb21wYXJlIGdmbl9lbmQKICAgIGFuZCBtYXggbWFw cGVkIHBmbiBpbiBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKCkKLS0tCiB4ZW4vYXJjaC94ODYvaHZt L2RtLmMgICAgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggICAgICB8ICA1ICsrKysr CiB4ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmggfCAgMyArLS0KIDQgZmlsZXMgY2hhbmdl ZCwgNzMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RtLmMKaW5kZXggZjk3NDc4Yi4uYTky ZDVkNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vZG0uYwpAQCAtMjg4LDYgKzI4OCw3IEBAIHN0YXRpYyBpbnQgaW5qZWN0X2V2ZW50KHN0 cnVjdCBkb21haW4gKmQsCiAgICAgcmV0dXJuIDA7CiB9CiAKKyNkZWZpbmUgRE1PUF9vcF9tYXNr IDB4ZmYKIHN0YXRpYyBpbnQgZG1fb3AoZG9taWRfdCBkb21pZCwKICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IG5yX2J1ZnMsCiAgICAgICAgICAgICAgICAgIHhlbl9kbV9vcF9idWZfdCBi dWZzW10pCkBAIC0zMTUsMTAgKzMxNiw4IEBAIHN0YXRpYyBpbnQgZG1fb3AoZG9taWRfdCBkb21p ZCwKICAgICB9CiAKICAgICByYyA9IC1FSU5WQUw7Ci0gICAgaWYgKCBvcC5wYWQgKQotICAgICAg ICBnb3RvIG91dDsKIAotICAgIHN3aXRjaCAoIG9wLm9wICkKKyAgICBzd2l0Y2ggKCBvcC5vcCAm IERNT1Bfb3BfbWFzayApCiAgICAgewogICAgIGNhc2UgWEVOX0RNT1BfY3JlYXRlX2lvcmVxX3Nl cnZlcjoKICAgICB7CkBAIC0zODcsNiArMzg2LDEwIEBAIHN0YXRpYyBpbnQgZG1fb3AoZG9taWRf dCBkb21pZCwKICAgICB7CiAgICAgICAgIGNvbnN0IHN0cnVjdCB4ZW5fZG1fb3BfbWFwX21lbV90 eXBlX3RvX2lvcmVxX3NlcnZlciAqZGF0YSA9CiAgICAgICAgICAgICAmb3AudS5tYXBfbWVtX3R5 cGVfdG9faW9yZXFfc2VydmVyOworICAgICAgICB1bnNpZ25lZCBsb25nIGdmbl9zdGFydCA9IG9w Lm9wICYgfkRNT1Bfb3BfbWFzazsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBnZm5fZW5kOworCisg ICAgICAgIGNvbnN0X29wID0gZmFsc2U7CiAKICAgICAgICAgcmMgPSAtRUlOVkFMOwogICAgICAg ICBpZiAoIGRhdGEtPnBhZCApCkBAIC0zOTYsOCArMzk5LDM4IEBAIHN0YXRpYyBpbnQgZG1fb3Ao ZG9taWRfdCBkb21pZCwKICAgICAgICAgaWYgKCAhaGFwX2VuYWJsZWQoZCkgKQogICAgICAgICAg ICAgYnJlYWs7CiAKLSAgICAgICAgcmMgPSBodm1fbWFwX21lbV90eXBlX3RvX2lvcmVxX3NlcnZl cihkLCBkYXRhLT5pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkYXRhLT50eXBlLCBkYXRhLT5mbGFncyk7CisgICAgICAgIGlmICggZ2ZuX3N0YXJ0ID09 IDAgKQorICAgICAgICAgICAgcmMgPSBodm1fbWFwX21lbV90eXBlX3RvX2lvcmVxX3NlcnZlcihk LCBkYXRhLT5pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YS0+dHlwZSwgZGF0YS0+ZmxhZ3MpOworICAgICAgICAvKgorICAgICAgICAgKiBJ dGVyYXRlIHAybSB0YWJsZSB3aGVuIGFuIGlvcmVxIHNlcnZlciB1bm1hcHMgZnJvbSBwMm1faW9y ZXFfc2VydmVyLAorICAgICAgICAgKiBhbmQgcmVzZXQgdGhlIHJlbWFpbmluZyBwMm1faW9yZXFf c2VydmVyIGVudHJpZXMgYmFjayB0byBwMm1fcmFtX3J3LgorICAgICAgICAgKi8KKyAgICAgICAg aWYgKCAoZ2ZuX3N0YXJ0ID4gMCkgfHwgKGRhdGEtPmZsYWdzID09IDAgJiYgcmMgPT0gMCkgKQor ICAgICAgICB7CisgICAgICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJtX2dldF9o b3N0cDJtKGQpOworCisgICAgICAgICAgICB3aGlsZSAoIHJlYWRfYXRvbWljKCZwMm0tPmlvcmVx LmVudHJ5X2NvdW50KSAmJgorICAgICAgICAgICAgICAgICAgICBnZm5fc3RhcnQgPD0gcDJtLT5t YXhfbWFwcGVkX3BmbiApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZ2ZuX2VuZCA9 IGdmbl9zdGFydCArIERNT1Bfb3BfbWFzazsKKworICAgICAgICAgICAgICAgIHAybV9maW5pc2hf dHlwZV9jaGFuZ2UoZCwgZ2ZuX3N0YXJ0LCBnZm5fZW5kLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcDJtX2lvcmVxX3NlcnZlciwgcDJtX3JhbV9ydyk7CisKKyAgICAg ICAgICAgICAgICBnZm5fc3RhcnQgPSBnZm5fZW5kICsgMTsKKworICAgICAgICAgICAgICAgIC8q IENoZWNrIGZvciBjb250aW51YXRpb24gaWYgaXQncyBub3QgdGhlIGxhc3QgaXRlcmF0aW9uLiAq LworICAgICAgICAgICAgICAgIGlmICggZ2ZuX3N0YXJ0IDw9IHAybS0+bWF4X21hcHBlZF9wZm4g JiYKKyAgICAgICAgICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQorICAg ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSAtRVJFU1RBUlQ7CisgICAg ICAgICAgICAgICAgICAgIG9wLm9wIHw9IGdmbl9zdGFydDsKKyAgICAgICAgICAgICAgICAgICAg YnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKICAg ICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMg Yi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKaW5kZXggOTRkNzE0MS4uOWE4MWYwMCAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAt MTAzOCw2ICsxMDM4LDM1IEBAIHZvaWQgcDJtX2NoYW5nZV90eXBlX3JhbmdlKHN0cnVjdCBkb21h aW4gKmQsCiAgICAgcDJtX3VubG9jayhwMm0pOwogfQogCisvKiBTeW5jaHJvbm91c2x5IG1vZGlm eSB0aGUgcDJtIHR5cGUgb2YgYSByYW5nZSBvZiBnZm5zIGZyb20gb3QgdG8gbnQuICovCit2b2lk IHAybV9maW5pc2hfdHlwZV9jaGFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IG90LCBwMm1fdHlwZV90IG50KQor eworICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7CisgICAg cDJtX3R5cGVfdCB0OworICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gc3RhcnQ7CisKKyAgICBBU1NF UlQoc3RhcnQgPD0gZW5kKTsKKyAgICBBU1NFUlQob3QgIT0gbnQpOworICAgIEFTU0VSVChwMm1f aXNfY2hhbmdlYWJsZShvdCkgJiYgcDJtX2lzX2NoYW5nZWFibGUobnQpKTsKKworICAgIHAybV9s b2NrKHAybSk7CisKKyAgICBlbmQgPSBtaW4oZW5kLCBwMm0tPm1heF9tYXBwZWRfcGZuKTsKKyAg ICB3aGlsZSAoIGdmbiA8PSBlbmQgKQorICAgIHsKKyAgICAgICAgZ2V0X2dmbl9xdWVyeV91bmxv Y2tlZChkLCBnZm4sICZ0KTsKKworICAgICAgICBpZiAoIHQgPT0gb3QgKQorICAgICAgICAgICAg cDJtX2NoYW5nZV90eXBlX29uZShkLCBnZm4sIHQsIG50KTsKKworICAgICAgICBnZm4rKzsKKyAg ICB9CisKKyAgICBwMm1fdW5sb2NrKHAybSk7Cit9CisKIC8qCiAgKiBSZXR1cm5zOgogICogICAg MCAgICAgICAgICAgICAgZm9yIHN1Y2Nlc3MKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvcDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCmluZGV4IDM5NWYxMjUuLjNlYWRk ODkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wMm0uaApAQCAtNjExLDYgKzYxMSwxMSBAQCB2b2lkIHAybV9jaGFuZ2VfdHlw ZV9yYW5nZShzdHJ1Y3QgZG9tYWluICpkLAogaW50IHAybV9jaGFuZ2VfdHlwZV9vbmUoc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICBw Mm1fdHlwZV90IG90LCBwMm1fdHlwZV90IG50KTsKIAorLyogU3luY2hyb25vdXNseSBjaGFuZ2Ug dHlwZXMgYWNyb3NzIGEgcmFuZ2Ugb2YgcDJtIGVudHJpZXMgKHN0YXJ0IC4uLiBlbmQpICovCit2 b2lkIHAybV9maW5pc2hfdHlwZV9jaGFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IG90LCBwMm1fdHlwZV90IG50 KTsKKwogLyogUmVwb3J0IGEgY2hhbmdlIGFmZmVjdGluZyBtZW1vcnkgdHlwZXMuICovCiB2b2lk IHAybV9tZW1vcnlfdHlwZV9jaGFuZ2VkKHN0cnVjdCBkb21haW4gKmQpOwogCmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZt L2RtX29wLmgKaW5kZXggYzY0M2I2Ny4uMjNiMzY0YiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv cHVibGljL2h2bS9kbV9vcC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaApA QCAtMzQzLDggKzM0Myw3IEBAIHN0cnVjdCB4ZW5fZG1fb3BfbWFwX21lbV90eXBlX3RvX2lvcmVx X3NlcnZlciB7CiB9OwogCiBzdHJ1Y3QgeGVuX2RtX29wIHsKLSAgICB1aW50MzJfdCBvcDsKLSAg ICB1aW50MzJfdCBwYWQ7CisgICAgdWludDY0X3Qgb3A7CiAgICAgdW5pb24gewogICAgICAgICBz dHJ1Y3QgeGVuX2RtX29wX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIgY3JlYXRlX2lvcmVxX3NlcnZlcjsK ICAgICAgICAgc3RydWN0IHhlbl9kbV9vcF9nZXRfaW9yZXFfc2VydmVyX2luZm8gZ2V0X2lvcmVx X3NlcnZlcl9pbmZvOwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK