From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v10 6/6] x86/ioreq server: Synchronously reset outstanding p2m_ioreq_server entries when an ioreq server unmaps. Date: Sun, 2 Apr 2017 20:24:27 +0800 Message-ID: <1491135867-623-7-git-send-email-yu.c.zhang@linux.intel.com> References: <1491135867-623-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: <1491135867-623-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 aXRyaXguY29tPgoKY2hhbmdlcyBpbiB2MzogCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJv bSBQYXVsOiB1c2UgbWFyX25yLCBpbnN0ZWFkIG9mCiAgICBsYXN0X2dmbiBmb3IgcDJtX2Zpbmlz aF90eXBlX2NoYW5nZSgpLgogIC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiB1c2Ug Z2ZuX3QgYXMgdHlwZSBvZgogICAgZmlyc3RfZ2ZuIGluIHAybV9maW5pc2hfdHlwZV9jaGFuZ2Uo KS4KICAtIEFjY29yZGluZyB0byBjb21tZW50cyBmcm9tIEphbjogc2ltcGxpZnkgdGhlIGlmIGNv bmRpdGlvbgogICAgYmVmb3JlIHVzaW5nIHAybV9maW5pc2hfdHlwZV9jaGFuZ2UoKS4KCmNoYW5n ZXMgaW4gdjI6IAogIC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuIGFuZCBBbmRyZXc6 IGRvIG5vdCB1c2UgdGhlIAogICAgSFZNT1AgdHlwZSBoeXBlcmNhbGwgY29udGludWF0aW9uIG1l dGhvZC4gSW5zdGVhZCwgYWRkaW5nCiAgICBhbiBvcGFxdWUgaW4geGVuX2RtX29wX21hcF9tZW1f dHlwZV90b19pb3JlcV9zZXJ2ZXIgdG8KICAgIHN0b3JlIHRoZSBnZm4uCiAgLSBBY2NvcmRpbmcg dG8gY29tbWVudHMgZnJvbSBKYW46IGNoYW5nZSByb3V0aW5lJ3MgY29tbWVudHMKICAgIGFuZCBu YW1lIG9mIHBhcmFtZXRlcnMgb2YgcDJtX2ZpbmlzaF90eXBlX2NoYW5nZSgpLgoKY2hhbmdlcyBp biB2MTogCiAgLSBUaGlzIHBhdGNoIGlzIHNwbGl0dGVkIGZyb20gcGF0Y2ggNCBvZiBsYXN0IHZl cnNpb24uCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJvbSBKYW46IHVwZGF0ZSB0aGUgZ2Zu X3N0YXJ0IGZvciAKICAgIHdoZW4gdXNlIGh5cGVyY2FsbCBjb250aW51YXRpb24gdG8gcmVzZXQg dGhlIHAybSB0eXBlLgogIC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiB1c2UgbWlu KCkgdG8gY29tcGFyZSBnZm5fZW5kCiAgICBhbmQgbWF4IG1hcHBlZCBwZm4gaW4gcDJtX2Zpbmlz aF90eXBlX2NoYW5nZSgpCi0tLQogeGVuL2FyY2gveDg2L2h2bS9kbS5jICAgICB8IDQxICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vYXJjaC94ODYvbW0vcDJt LmMgICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2Fz bS14ODYvcDJtLmggfCAgNiArKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94 ZW4vYXJjaC94ODYvaHZtL2RtLmMKaW5kZXggN2UwZGE4MS4uZDcyYjdiZCAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtMzg0 LDE1ICszODQsNTAgQEAgc3RhdGljIGludCBkbV9vcChkb21pZF90IGRvbWlkLAogCiAgICAgY2Fz ZSBYRU5fRE1PUF9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyOgogICAgIHsKLSAgICAgICAg Y29uc3Qgc3RydWN0IHhlbl9kbV9vcF9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyICpkYXRh ID0KKyAgICAgICAgc3RydWN0IHhlbl9kbV9vcF9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVy ICpkYXRhID0KICAgICAgICAgICAgICZvcC51Lm1hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXI7 CisgICAgICAgIHVuc2lnbmVkIGxvbmcgZmlyc3RfZ2ZuID0gZGF0YS0+b3BhcXVlOworCisgICAg ICAgIGNvbnN0X29wID0gZmFsc2U7CiAKICAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKICAgICAg ICAgaWYgKCAhaGFwX2VuYWJsZWQoZCkgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg cmMgPSBodm1fbWFwX21lbV90eXBlX3RvX2lvcmVxX3NlcnZlcihkLCBkYXRhLT5pZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT50eXBlLCBkYXRh LT5mbGFncyk7CisgICAgICAgIGlmICggZmlyc3RfZ2ZuID09IDAgKQorICAgICAgICAgICAgcmMg PSBodm1fbWFwX21lbV90eXBlX3RvX2lvcmVxX3NlcnZlcihkLCBkYXRhLT5pZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+dHlwZSwgZGF0 YS0+ZmxhZ3MpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByYyA9IDA7CisKKyAgICAgICAg LyoKKyAgICAgICAgICogSXRlcmF0ZSBwMm0gdGFibGUgd2hlbiBhbiBpb3JlcSBzZXJ2ZXIgdW5t YXBzIGZyb20gcDJtX2lvcmVxX3NlcnZlciwKKyAgICAgICAgICogYW5kIHJlc2V0IHRoZSByZW1h aW5pbmcgcDJtX2lvcmVxX3NlcnZlciBlbnRyaWVzIGJhY2sgdG8gcDJtX3JhbV9ydy4KKyAgICAg ICAgICovCisgICAgICAgIGlmICggcmMgPT0gMCAmJiBkYXRhLT5mbGFncyA9PSAwICkKKyAgICAg ICAgeworICAgICAgICAgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9nZXRfaG9zdHAy bShkKTsKKworICAgICAgICAgICAgd2hpbGUgKCByZWFkX2F0b21pYygmcDJtLT5pb3JlcS5lbnRy eV9jb3VudCkgJiYKKyAgICAgICAgICAgICAgICAgICAgZmlyc3RfZ2ZuIDw9IHAybS0+bWF4X21h cHBlZF9wZm4gKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qIEl0ZXJhdGUgcDJt IHRhYmxlIGZvciAyNTYgZ2ZucyBlYWNoIHRpbWUuICovCisgICAgICAgICAgICAgICAgcDJtX2Zp bmlzaF90eXBlX2NoYW5nZShkLCBfZ2ZuKGZpcnN0X2dmbiksIDI1NiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9pb3JlcV9zZXJ2ZXIsIHAybV9yYW1fcncpOwor CisgICAgICAgICAgICAgICAgZmlyc3RfZ2ZuICs9IDI1NjsKKworICAgICAgICAgICAgICAgIC8q IENoZWNrIGZvciBjb250aW51YXRpb24gaWYgaXQncyBub3QgdGhlIGxhc3QgaXRlcmF0aW9uLiAq LworICAgICAgICAgICAgICAgIGlmICggZmlyc3RfZ2ZuIDw9IHAybS0+bWF4X21hcHBlZF9wZm4g JiYKKyAgICAgICAgICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQorICAg ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSAtRVJFU1RBUlQ7CisgICAg ICAgICAgICAgICAgICAgIGRhdGEtPm9wYXF1ZSA9IGZpcnN0X2dmbjsKKyAgICAgICAgICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9 CisKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0v cDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKaW5kZXggN2ExYmRkOC4uMGRhYWE4NiAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0u YwpAQCAtMTAzMSw2ICsxMDMxLDM1IEBAIHZvaWQgcDJtX2NoYW5nZV90eXBlX3JhbmdlKHN0cnVj dCBkb21haW4gKmQsCiAgICAgcDJtX3VubG9jayhwMm0pOwogfQogCisvKiBTeW5jaHJvbm91c2x5 IG1vZGlmeSB0aGUgcDJtIHR5cGUgZm9yIGEgcmFuZ2Ugb2YgZ2ZucyBmcm9tIG90IHRvIG50LiAq Lwordm9pZCBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZmlyc3RfZ2ZuLCB1bnNpZ25lZCBsb25nIG1heF9u ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IG90LCBwMm1fdHlwZV90 IG50KQoreworICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7 CisgICAgcDJtX3R5cGVfdCB0OworICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gZ2ZuX3goZmlyc3Rf Z2ZuKTsKKyAgICB1bnNpZ25lZCBsb25nIGxhc3RfZ2ZuID0gZ2ZuICsgbWF4X25yIC0gMTsKKwor ICAgIEFTU0VSVChvdCAhPSBudCk7CisgICAgQVNTRVJUKHAybV9pc19jaGFuZ2VhYmxlKG90KSAm JiBwMm1faXNfY2hhbmdlYWJsZShudCkpOworCisgICAgcDJtX2xvY2socDJtKTsKKworICAgIGxh c3RfZ2ZuID0gbWluKGxhc3RfZ2ZuLCBwMm0tPm1heF9tYXBwZWRfcGZuKTsKKyAgICB3aGlsZSAo IGdmbiA8PSBsYXN0X2dmbiApCisgICAgeworICAgICAgICBnZXRfZ2ZuX3F1ZXJ5X3VubG9ja2Vk KGQsIGdmbiwgJnQpOworCisgICAgICAgIGlmICggdCA9PSBvdCApCisgICAgICAgICAgICBwMm1f Y2hhbmdlX3R5cGVfb25lKGQsIGdmbiwgdCwgbnQpOworCisgICAgICAgIGdmbisrOworICAgIH0K KworICAgIHAybV91bmxvY2socDJtKTsKK30KKwogLyoKICAqIFJldHVybnM6CiAgKiAgICAwICAg ICAgICAgICAgICBmb3Igc3VjY2VzcwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9w Mm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKaW5kZXggZTdlMzkwZC4uMGU2NzBhZiAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L3AybS5oCkBAIC02MTEsNiArNjExLDEyIEBAIHZvaWQgcDJtX2NoYW5nZV90eXBlX3Jh bmdlKHN0cnVjdCBkb21haW4gKmQsCiBpbnQgcDJtX2NoYW5nZV90eXBlX29uZShzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwKICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90 eXBlX3Qgb3QsIHAybV90eXBlX3QgbnQpOwogCisvKiBTeW5jaHJvbm91c2x5IGNoYW5nZSB0aGUg cDJtIHR5cGUgZm9yIGEgcmFuZ2Ugb2YgZ2ZucyAqLwordm9pZCBwMm1fZmluaXNoX3R5cGVfY2hh bmdlKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qg Zmlyc3RfZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWF4 X25yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3Qgb3QsIHAybV90eXBl X3QgbnQpOworCiAvKiBSZXBvcnQgYSBjaGFuZ2UgYWZmZWN0aW5nIG1lbW9yeSB0eXBlcy4gKi8K IHZvaWQgcDJtX21lbW9yeV90eXBlX2NoYW5nZWQoc3RydWN0IGRvbWFpbiAqZCk7CiAKLS0gCjEu OS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==