From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v12 6/6] x86/ioreq server: Synchronously reset outstanding p2m_ioreq_server entries when an ioreq server unmaps. Date: Thu, 6 Apr 2017 23:53:37 +0800 Message-ID: <1491494017-30743-7-git-send-email-yu.c.zhang@linux.intel.com> References: <1491494017-30743-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: <1491494017-30743-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 Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4K UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6 IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KLS0tCkNjOiBQYXVsIER1 cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNo QHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K Q2M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KCmNoYW5nZXMg aW4gdjQ6IAogIC0gQWRkZWQgIlJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu dEBjaXRyaXguY29tPiIKICAtIEFkZGVkICJSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs aWNoQHN1c2UuY29tPiIKICAtIEFkZGVkICJSZXZpZXdlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2Vv cmdlLmR1bmxhcEBjaXRyaXguY29tPiIKCmNoYW5nZXMgaW4gdjM6IAogIC0gQWNjb3JkaW5nIHRv IGNvbW1lbnRzIGZyb20gUGF1bDogdXNlIG1hcl9uciwgaW5zdGVhZCBvZgogICAgbGFzdF9nZm4g Zm9yIHAybV9maW5pc2hfdHlwZV9jaGFuZ2UoKS4KICAtIEFjY29yZGluZyB0byBjb21tZW50cyBm cm9tIEphbjogdXNlIGdmbl90IGFzIHR5cGUgb2YKICAgIGZpcnN0X2dmbiBpbiBwMm1fZmluaXNo X3R5cGVfY2hhbmdlKCkuCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJvbSBKYW46IHNpbXBs aWZ5IHRoZSBpZiBjb25kaXRpb24KICAgIGJlZm9yZSB1c2luZyBwMm1fZmluaXNoX3R5cGVfY2hh bmdlKCkuCgpjaGFuZ2VzIGluIHYyOiAKICAtIEFjY29yZGluZyB0byBjb21tZW50cyBmcm9tIEph biBhbmQgQW5kcmV3OiBkbyBub3QgdXNlIHRoZSAKICAgIEhWTU9QIHR5cGUgaHlwZXJjYWxsIGNv bnRpbnVhdGlvbiBtZXRob2QuIEluc3RlYWQsIGFkZGluZwogICAgYW4gb3BhcXVlIGluIHhlbl9k bV9vcF9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyIHRvCiAgICBzdG9yZSB0aGUgZ2ZuLgog IC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiBjaGFuZ2Ugcm91dGluZSdzIGNvbW1l bnRzCiAgICBhbmQgbmFtZSBvZiBwYXJhbWV0ZXJzIG9mIHAybV9maW5pc2hfdHlwZV9jaGFuZ2Uo KS4KCmNoYW5nZXMgaW4gdjE6CiAgLSBUaGlzIHBhdGNoIGlzIHNwbGl0dGVkIGZyb20gcGF0Y2gg NCBvZiBsYXN0IHZlcnNpb24uCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJvbSBKYW46IHVw ZGF0ZSB0aGUgZ2ZuX3N0YXJ0IGZvcgogICAgd2hlbiB1c2UgaHlwZXJjYWxsIGNvbnRpbnVhdGlv biB0byByZXNldCB0aGUgcDJtIHR5cGUuCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJvbSBK YW46IHVzZSBtaW4oKSB0byBjb21wYXJlIGdmbl9lbmQKICAgIGFuZCBtYXggbWFwcGVkIHBmbiBp biBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKCkKLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2RtLmMgICAg IHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9hcmNo L3g4Ni9tbS9wMm0uYyAgICAgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVu L2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCB8ICA2ICsrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA3MyBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9o dm0vZG0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwppbmRleCA3ZTBkYTgxLi5kNzJiN2JkIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9k bS5jCkBAIC0zODQsMTUgKzM4NCw1MCBAQCBzdGF0aWMgaW50IGRtX29wKGRvbWlkX3QgZG9taWQs CiAKICAgICBjYXNlIFhFTl9ETU9QX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXI6CiAgICAg ewotICAgICAgICBjb25zdCBzdHJ1Y3QgeGVuX2RtX29wX21hcF9tZW1fdHlwZV90b19pb3JlcV9z ZXJ2ZXIgKmRhdGEgPQorICAgICAgICBzdHJ1Y3QgeGVuX2RtX29wX21hcF9tZW1fdHlwZV90b19p b3JlcV9zZXJ2ZXIgKmRhdGEgPQogICAgICAgICAgICAgJm9wLnUubWFwX21lbV90eXBlX3RvX2lv cmVxX3NlcnZlcjsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBmaXJzdF9nZm4gPSBkYXRhLT5vcGFx dWU7CisKKyAgICAgICAgY29uc3Rfb3AgPSBmYWxzZTsKIAogICAgICAgICByYyA9IC1FT1BOT1RT VVBQOwogICAgICAgICBpZiAoICFoYXBfZW5hYmxlZChkKSApCiAgICAgICAgICAgICBicmVhazsK IAotICAgICAgICByYyA9IGh2bV9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyKGQsIGRhdGEt PmlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEt PnR5cGUsIGRhdGEtPmZsYWdzKTsKKyAgICAgICAgaWYgKCBmaXJzdF9nZm4gPT0gMCApCisgICAg ICAgICAgICByYyA9IGh2bV9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyKGQsIGRhdGEtPmlk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh LT50eXBlLCBkYXRhLT5mbGFncyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJjID0gMDsK KworICAgICAgICAvKgorICAgICAgICAgKiBJdGVyYXRlIHAybSB0YWJsZSB3aGVuIGFuIGlvcmVx IHNlcnZlciB1bm1hcHMgZnJvbSBwMm1faW9yZXFfc2VydmVyLAorICAgICAgICAgKiBhbmQgcmVz ZXQgdGhlIHJlbWFpbmluZyBwMm1faW9yZXFfc2VydmVyIGVudHJpZXMgYmFjayB0byBwMm1fcmFt X3J3LgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCByYyA9PSAwICYmIGRhdGEtPmZsYWdzID09 IDAgKQorICAgICAgICB7CisgICAgICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJt X2dldF9ob3N0cDJtKGQpOworCisgICAgICAgICAgICB3aGlsZSAoIHJlYWRfYXRvbWljKCZwMm0t PmlvcmVxLmVudHJ5X2NvdW50KSAmJgorICAgICAgICAgICAgICAgICAgICBmaXJzdF9nZm4gPD0g cDJtLT5tYXhfbWFwcGVkX3BmbiApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyog SXRlcmF0ZSBwMm0gdGFibGUgZm9yIDI1NiBnZm5zIGVhY2ggdGltZS4gKi8KKyAgICAgICAgICAg ICAgICBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKGQsIF9nZm4oZmlyc3RfZ2ZuKSwgMjU2LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2lvcmVxX3NlcnZlciwgcDJt X3JhbV9ydyk7CisKKyAgICAgICAgICAgICAgICBmaXJzdF9nZm4gKz0gMjU2OworCisgICAgICAg ICAgICAgICAgLyogQ2hlY2sgZm9yIGNvbnRpbnVhdGlvbiBpZiBpdCdzIG5vdCB0aGUgbGFzdCBp dGVyYXRpb24uICovCisgICAgICAgICAgICAgICAgaWYgKCBmaXJzdF9nZm4gPD0gcDJtLT5tYXhf bWFwcGVkX3BmbiAmJgorICAgICAgICAgICAgICAgICAgICAgaHlwZXJjYWxsX3ByZWVtcHRfY2hl Y2soKSApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByYyA9IC1FUkVT VEFSVDsKKyAgICAgICAgICAgICAgICAgICAgZGF0YS0+b3BhcXVlID0gZmlyc3RfZ2ZuOworICAg ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9 CisgICAgICAgIH0KKwogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCA0MTY5ZDE4Li4x ZDU3ZTVjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gv eDg2L21tL3AybS5jCkBAIC0xMDExLDYgKzEwMTEsMzUgQEAgdm9pZCBwMm1fY2hhbmdlX3R5cGVf cmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwKICAgICBwMm1fdW5sb2NrKHAybSk7CiB9CiAKKy8qIFN5 bmNocm9ub3VzbHkgbW9kaWZ5IHRoZSBwMm0gdHlwZSBmb3IgYSByYW5nZSBvZiBnZm5zIGZyb20g b3QgdG8gbnQuICovCit2b2lkIHAybV9maW5pc2hfdHlwZV9jaGFuZ2Uoc3RydWN0IGRvbWFpbiAq ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBmaXJzdF9nZm4sIHVuc2lnbmVk IGxvbmcgbWF4X25yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3Qgb3Qs IHAybV90eXBlX3QgbnQpCit7CisgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9nZXRf aG9zdHAybShkKTsKKyAgICBwMm1fdHlwZV90IHQ7CisgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBn Zm5feChmaXJzdF9nZm4pOworICAgIHVuc2lnbmVkIGxvbmcgbGFzdF9nZm4gPSBnZm4gKyBtYXhf bnIgLSAxOworCisgICAgQVNTRVJUKG90ICE9IG50KTsKKyAgICBBU1NFUlQocDJtX2lzX2NoYW5n ZWFibGUob3QpICYmIHAybV9pc19jaGFuZ2VhYmxlKG50KSk7CisKKyAgICBwMm1fbG9jayhwMm0p OworCisgICAgbGFzdF9nZm4gPSBtaW4obGFzdF9nZm4sIHAybS0+bWF4X21hcHBlZF9wZm4pOwor ICAgIHdoaWxlICggZ2ZuIDw9IGxhc3RfZ2ZuICkKKyAgICB7CisgICAgICAgIGdldF9nZm5fcXVl cnlfdW5sb2NrZWQoZCwgZ2ZuLCAmdCk7CisKKyAgICAgICAgaWYgKCB0ID09IG90ICkKKyAgICAg ICAgICAgIHAybV9jaGFuZ2VfdHlwZV9vbmUoZCwgZ2ZuLCB0LCBudCk7CisKKyAgICAgICAgZ2Zu Kys7CisgICAgfQorCisgICAgcDJtX3VubG9jayhwMm0pOworfQorCiAvKgogICogUmV0dXJuczoK ICAqICAgIDAgICAgICAgICAgICAgIGZvciBzdWNjZXNzCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAppbmRleCBlN2UzOTBk Li4wZTY3MGFmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTYxMSw2ICs2MTEsMTIgQEAgdm9pZCBwMm1fY2hh bmdlX3R5cGVfcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwKIGludCBwMm1fY2hhbmdlX3R5cGVfb25l KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAogICAgICAgICAgICAgICAgICAg ICAgICAgcDJtX3R5cGVfdCBvdCwgcDJtX3R5cGVfdCBudCk7CiAKKy8qIFN5bmNocm9ub3VzbHkg Y2hhbmdlIHRoZSBwMm0gdHlwZSBmb3IgYSByYW5nZSBvZiBnZm5zICovCit2b2lkIHAybV9maW5p c2hfdHlwZV9jaGFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBnZm5fdCBmaXJzdF9nZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBtYXhfbnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCBv dCwgcDJtX3R5cGVfdCBudCk7CisKIC8qIFJlcG9ydCBhIGNoYW5nZSBhZmZlY3RpbmcgbWVtb3J5 IHR5cGVzLiAqLwogdm9pZCBwMm1fbWVtb3J5X3R5cGVfY2hhbmdlZChzdHJ1Y3QgZG9tYWluICpk KTsKIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK