From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v9 5/5] x86/ioreq server: Synchronously reset outstanding p2m_ioreq_server entries when an ioreq server unmaps. Date: Tue, 21 Mar 2017 10:52:53 +0800 Message-ID: <1490064773-26751-6-git-send-email-yu.c.zhang@linux.intel.com> References: <1490064773-26751-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: <1490064773-26751-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: George Dunlap , Andrew Cooper , Paul Durrant , zhiyuan.lv@intel.com, Jan Beulich List-Id: xen-devel@lists.xenproject.org QWZ0ZXIgYW4gaW9yZXEgc2VydmVyIGhhcyB1bm1hcHBlZCwgdGhlIHJlbWFpbmluZyBwMm1faW9y ZXFfc2VydmVyCmVudHJpZXMgbmVlZCB0byBiZSByZXNldCBiYWNrIHRvIHAybV9yYW1fcncuIFRo aXMgcGF0Y2ggZG9lcyB0aGlzCnN5bmNocm9ub3VzbHkgYnkgaXRlcmF0aW5nIHRoZSBwMm0gdGFi bGUuCgpUaGUgc3luY2hyb25vdXMgcmVzZXR0aW5nIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHdlIG5l ZWQgdG8gZ3VhcmFudGVlCnRoZSBwMm0gdGFibGUgaXMgY2xlYW4gYmVmb3JlIGFub3RoZXIgaW9y ZXEgc2VydmVyIGlzIG1hcHBlZC4gQW5kCnNpbmNlIHRoZSBzd2VlcGluZyBvZiBwMm0gdGFibGUg Y291bGQgYmUgdGltZSBjb25zdW1pbmcsIGl0IGlzIGRvbmUKd2l0aCBoeXBlcmNhbGwgY29udGlu dWF0aW9uLgoKU2lnbmVkLW9mZi1ieTogWXUgWmhhbmcgPHl1LmMuemhhbmdAbGludXguaW50ZWwu Y29tPgotLS0KQ2M6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkNjOiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5j aXRyaXguY29tPgoKY2hhbmdlcyBpbiB2MjogCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJv bSBKYW4gYW5kIEFuZHJldzogZG8gbm90IHVzZSB0aGUKICAgIEhWTU9QIHR5cGUgaHlwZXJjYWxs IGNvbnRpbnVhdGlvbiBtZXRob2QuIEluc3RlYWQsIGFkZGluZwogICAgYW4gb3BhcXVlIGluIHhl bl9kbV9vcF9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyIHRvCiAgICBzdG9yZSB0aGUgZ2Zu LgogIC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiBjaGFuZ2Ugcm91dGluZSdzIGNv bW1lbnRzCiAgICBhbmQgbmFtZSBvZiBwYXJhbWV0ZXJzIG9mIHAybV9maW5pc2hfdHlwZV9jaGFu Z2UoKS4KCmNoYW5nZXMgaW4gdjE6IAogIC0gVGhpcyBwYXRjaCBpcyBzcGxpdHRlZCBmcm9tIHBh dGNoIDQgb2YgbGFzdCB2ZXJzaW9uLgogIC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFu OiB1cGRhdGUgdGhlIGdmbl9zdGFydCBmb3IgCiAgICB3aGVuIHVzZSBoeXBlcmNhbGwgY29udGlu dWF0aW9uIHRvIHJlc2V0IHRoZSBwMm0gdHlwZS4KICAtIEFjY29yZGluZyB0byBjb21tZW50cyBm cm9tIEphbjogdXNlIG1pbigpIHRvIGNvbXBhcmUgZ2ZuX2VuZAogICAgYW5kIG1heCBtYXBwZWQg cGZuIGluIHAybV9maW5pc2hfdHlwZV9jaGFuZ2UoKQotLS0KIHhlbi9hcmNoL3g4Ni9odm0vZG0u YyAgICAgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogeGVu L2FyY2gveDg2L21tL3AybS5jICAgICB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB4ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIHwgIDcgKysrKysrKwogMyBmaWxlcyBjaGFuZ2Vk LCA3NCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9odm0vZG0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwppbmRleCAzZjk0ODRkLi5hMjRk MGY4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMKKysrIGIveGVuL2FyY2gveDg2 L2h2bS9kbS5jCkBAIC0zODUsMTYgKzM4NSw1MSBAQCBzdGF0aWMgaW50IGRtX29wKGRvbWlkX3Qg ZG9taWQsCiAKICAgICBjYXNlIFhFTl9ETU9QX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXI6 CiAgICAgewotICAgICAgICBjb25zdCBzdHJ1Y3QgeGVuX2RtX29wX21hcF9tZW1fdHlwZV90b19p b3JlcV9zZXJ2ZXIgKmRhdGEgPQorICAgICAgICBzdHJ1Y3QgeGVuX2RtX29wX21hcF9tZW1fdHlw ZV90b19pb3JlcV9zZXJ2ZXIgKmRhdGEgPQogICAgICAgICAgICAgJm9wLnUubWFwX21lbV90eXBl X3RvX2lvcmVxX3NlcnZlcjsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBmaXJzdF9nZm4gPSBkYXRh LT5vcGFxdWU7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbGFzdF9nZm47CisKKyAgICAgICAgY29u c3Rfb3AgPSBmYWxzZTsKIAogICAgICAgICByYyA9IC1FT1BOT1RTVVBQOwogICAgICAgICAvKiBP bmx5IHN1cHBvcnQgZm9yIEhBUCBlbmFibGVkIGh2bS4gKi8KICAgICAgICAgaWYgKCAhaGFwX2Vu YWJsZWQoZCkgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgcmMgPSBodm1fbWFwX21l bV90eXBlX3RvX2lvcmVxX3NlcnZlcihkLCBkYXRhLT5pZCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT50eXBlLCBkYXRhLT5mbGFncyk7CisgICAg ICAgIGlmICggZmlyc3RfZ2ZuID09IDAgKQorICAgICAgICAgICAgcmMgPSBodm1fbWFwX21lbV90 eXBlX3RvX2lvcmVxX3NlcnZlcihkLCBkYXRhLT5pZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+dHlwZSwgZGF0YS0+ZmxhZ3MpOworICAg ICAgICAvKgorICAgICAgICAgKiBJdGVyYXRlIHAybSB0YWJsZSB3aGVuIGFuIGlvcmVxIHNlcnZl ciB1bm1hcHMgZnJvbSBwMm1faW9yZXFfc2VydmVyLAorICAgICAgICAgKiBhbmQgcmVzZXQgdGhl IHJlbWFpbmluZyBwMm1faW9yZXFfc2VydmVyIGVudHJpZXMgYmFjayB0byBwMm1fcmFtX3J3Lgor ICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAoZmlyc3RfZ2ZuID4gMCkgfHwgKGRhdGEtPmZsYWdz ID09IDAgJiYgcmMgPT0gMCkgKQorICAgICAgICB7CisgICAgICAgICAgICBzdHJ1Y3QgcDJtX2Rv bWFpbiAqcDJtID0gcDJtX2dldF9ob3N0cDJtKGQpOworCisgICAgICAgICAgICB3aGlsZSAoIHJl YWRfYXRvbWljKCZwMm0tPmlvcmVxLmVudHJ5X2NvdW50KSAmJgorICAgICAgICAgICAgICAgICAg ICBmaXJzdF9nZm4gPD0gcDJtLT5tYXhfbWFwcGVkX3BmbiApCisgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgLyogSXRlcmF0ZSBwMm0gdGFibGUgZm9yIDI1NiBnZm5zIGVhY2ggdGltZS4g Ki8KKyAgICAgICAgICAgICAgICBsYXN0X2dmbiA9IGZpcnN0X2dmbiArIDB4ZmY7CisKKyAgICAg ICAgICAgICAgICBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKGQsIGZpcnN0X2dmbiwgbGFzdF9nZm4s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1faW9yZXFfc2VydmVy LCBwMm1fcmFtX3J3KTsKKworICAgICAgICAgICAgICAgIGZpcnN0X2dmbiA9IGxhc3RfZ2ZuICsg MTsKKworICAgICAgICAgICAgICAgIC8qIENoZWNrIGZvciBjb250aW51YXRpb24gaWYgaXQncyBu b3QgdGhlIGxhc3QgaXRlcmF0aW9uLiAqLworICAgICAgICAgICAgICAgIGlmICggZmlyc3RfZ2Zu IDw9IHAybS0+bWF4X21hcHBlZF9wZm4gJiYKKyAgICAgICAgICAgICAgICAgICAgIGh5cGVyY2Fs bF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg ICAgcmMgPSAtRVJFU1RBUlQ7CisgICAgICAgICAgICAgICAgICAgIGRhdGEtPm9wYXF1ZSA9IGZp cnN0X2dmbjsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKaW5k ZXggZTNlNTRmMS4uMGEyZjI3NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCisr KyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtMTAzOCw2ICsxMDM4LDM1IEBAIHZvaWQgcDJt X2NoYW5nZV90eXBlX3JhbmdlKHN0cnVjdCBkb21haW4gKmQsCiAgICAgcDJtX3VubG9jayhwMm0p OwogfQogCisvKiBTeW5jaHJvbm91c2x5IG1vZGlmeSB0aGUgcDJtIHR5cGUgZm9yIGEgcmFuZ2Ug b2YgZ2ZucyBmcm9tIG90IHRvIG50LiAqLwordm9pZCBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKHN0 cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyBmaXJzdF9nZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9nZm4sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcDJtX3R5cGVfdCBvdCwgcDJtX3R5cGVfdCBudCkKK3sKKyAgICBzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtID0gcDJtX2dldF9ob3N0cDJtKGQpOworICAgIHAybV90eXBlX3QgdDsKKyAg ICB1bnNpZ25lZCBsb25nIGdmbiA9IGZpcnN0X2dmbjsKKworICAgIEFTU0VSVChmaXJzdF9nZm4g PD0gbGFzdF9nZm4pOworICAgIEFTU0VSVChvdCAhPSBudCk7CisgICAgQVNTRVJUKHAybV9pc19j aGFuZ2VhYmxlKG90KSAmJiBwMm1faXNfY2hhbmdlYWJsZShudCkpOworCisgICAgcDJtX2xvY2so cDJtKTsKKworICAgIGxhc3RfZ2ZuID0gbWluKGxhc3RfZ2ZuLCBwMm0tPm1heF9tYXBwZWRfcGZu KTsKKyAgICB3aGlsZSAoIGdmbiA8PSBsYXN0X2dmbiApCisgICAgeworICAgICAgICBnZXRfZ2Zu X3F1ZXJ5X3VubG9ja2VkKGQsIGdmbiwgJnQpOworCisgICAgICAgIGlmICggdCA9PSBvdCApCisg ICAgICAgICAgICBwMm1fY2hhbmdlX3R5cGVfb25lKGQsIGdmbiwgdCwgbnQpOworCisgICAgICAg IGdmbisrOworICAgIH0KKworICAgIHAybV91bmxvY2socDJtKTsKK30KKwogLyoKICAqIFJldHVy bnM6CiAgKiAgICAwICAgICAgICAgICAgICBmb3Igc3VjY2VzcwpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKaW5kZXggMzk1 ZjEyNS4uM2Q2NjVlOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCkBAIC02MTEsNiArNjExLDEzIEBAIHZvaWQgcDJt X2NoYW5nZV90eXBlX3JhbmdlKHN0cnVjdCBkb21haW4gKmQsCiBpbnQgcDJtX2NoYW5nZV90eXBl X29uZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwKICAgICAgICAgICAgICAg ICAgICAgICAgIHAybV90eXBlX3Qgb3QsIHAybV90eXBlX3QgbnQpOwogCisvKiBTeW5jaHJvbm91 c2x5IGNoYW5nZSB0aGUgcDJtIHR5cGUgZm9yIGEgcmFuZ2Ugb2YgZ2ZuczoKKyAqIFtmaXJzdF9n Zm4gLi4uIGxhc3RfZ2ZuXS4gKi8KK3ZvaWQgcDJtX2ZpbmlzaF90eXBlX2NoYW5nZShzdHJ1Y3Qg ZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZmly c3RfZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbGFzdF9n Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCBvdCwgcDJtX3R5cGVf dCBudCk7CisKIC8qIFJlcG9ydCBhIGNoYW5nZSBhZmZlY3RpbmcgbWVtb3J5IHR5cGVzLiAqLwog dm9pZCBwMm1fbWVtb3J5X3R5cGVfY2hhbmdlZChzdHJ1Y3QgZG9tYWluICpkKTsKIAotLSAKMS45 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK