From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v4] x86/apicv: Fix wrong IPI suppression during posted interrupt delivery Date: Fri, 3 Mar 2017 10:35:43 +0800 Message-ID: <1488508543-30295-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: yang.zhang.wz@gmail.com, "Xuquan (Quan Xu)" , quan.xu0@gmail.com, Jun Nakajima , Andrew Cooper , Kevin Tian , Jan Beulich , Chao Gao List-Id: xen-devel@lists.xenproject.org X192bXhfZGVsaXZlcl9wb3N0ZWRfaW50ZXJydXB0KCkgd3JvbmdseSB1c2VkIGEgc29mdGlycSBi aXQgdG8gZGVjaWRlIHdoZXRoZXIKdG8gc3VwcHJlc3MgYW4gSVBJLiBJdHMgbG9naWMgd2FzOiB0 aGUgZmlyc3QgdGltZSBhbiBJUEkgd2FzIHNlbnQsIHdlIHNldAp0aGUgc29mdGlycSBiaXQuIE5l eHQgdGltZSwgd2Ugd291bGQgY2hlY2sgdGhhdCBzb2Z0aXJxIGJpdCBiZWZvcmUgc2VuZGluZwph bm90aGVyIElQSS4gSWYgdGhlIDFzdCBJUEkgYXJyaXZlZCBhdCB0aGUgcENQVSB3aGljaCB3YXMg aW4Kbm9uLXJvb3QgbW9kZSwgdGhlIGhhcmR3YXJlIHdvdWxkIGNvbnN1bWUgdGhlIElQSSBhbmQg c3luYyBQSVIgdG8gdklSUi4KRHVyaW5nIHRoZSBwcm9jZXNzLCBubyBvbmUgKGJvdGggaGFyZHdh cmUgYW5kIHNvZnR3YXJlKSB3aWxsIGNsZWFyIHRoZQpzb2Z0aXJxIGJpdC4gQXMgYSByZXN1bHQs IHRoZSBmb2xsb3dpbmcgSVBJIHdvdWxkIGJlIHdyb25nbHkgc3VwcHJlc3NlZC4KClRoaXMgcGF0 Y2ggZGlzY2FyZHMgdGhlIHN1cHByZXNzaW9uIGNoZWNrLCBhbHdheXMgc2VuZGluZyBhbiBJUEku ClRoZSBzb2Z0aXJxIGFsc28gbmVlZCB0byBiZSByYWlzZWQuIEJ1dCB0aGVyZSBpcyBhIGxpdHRs ZSBjaGFuZ2UuClRoaXMgcGF0Y2ggbW92ZXMgdGhlIHBsYWNlIHdoZXJlIHdlIHJhaXNlIGEgc29m dGlycSBmb3IKJ2NwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCknIGNhc2UgdG8gdGhlIElQSSBpbnRl cnJ1cHQgaGFuZGxlci4KTmFtZWx5LCBkb24ndCByYWlzZSBhIHNvZnRpcnEgZm9yIHRoaXMgY2Fz ZSBhbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlcgp0byBwaV9ub3RpZmljYXRpb25faW50ZXJy dXB0KCkoaW4gd2hpY2ggYSBzb2Z0aXJxIGlzIHJhaXNlZCkgcmVnYXJkbGVzcyBvZgpWVC1kIFBJ IGVuYWJsZWQgb3Igbm90LiBUaGUgb25seSBkaWZmZXJlbmNlIGlzIHdoZW4gYW4gSVBJIGFycml2 ZXMgYXQgdGhlCnBDUFUgd2hpY2ggaXMgaGFwcGVuZWQgaW4gbm9uLXJvb3QgbW9kZSwgdGhlIGNv ZGUgd2lsbCBub3QgcmFpc2UgYSB1c2VsZXNzCnNvZnRpcnEgc2luY2UgdGhlIElQSSBpcyBjb25z dW1lZCBieSBoYXJkd2FyZSByYXRoZXIgdGhhbiByYWlzZSBhIHNvZnRpcnEKdW5jb25kaXRpb25h bGx5LgoKU2lnbmVkLW9mZi1ieTogUXVhbiBYdSA8eHVxdWFuOEBodWF3ZWkuY29tPgpTaWduZWQt b2ZmLWJ5OiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgpBY2tlZC1ieTogS2V2aW4gVGlh biA8a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0tLQp2NDoKLSBSZXBsYWNlIHBhdGNoIHYzIHRpdGxl ICJFbmhhbmNlIHBvc3RlZC1pbnRlcnJ1cHQgcHJvY2Vzc2luZyIgd2l0aCB0aGUKY3VycmVudCB0 aXRsZS4KLSBEZXNjaXB0aW9uIGNoYW5nZXMKLSBGaXggYSBjb21waWxlciBlcnJvcgoKLS0tCiB4 ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIv eGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXggNWIxNzE3ZC4uMWEwZTEzMCAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92 bXgvdm14LmMKQEAgLTE4NDIsMTMgKzE4NDIsNTMgQEAgc3RhdGljIHZvaWQgX192bXhfZGVsaXZl cl9wb3N0ZWRfaW50ZXJydXB0KHN0cnVjdCB2Y3B1ICp2KQogICAgIGJvb2xfdCBydW5uaW5nID0g di0+aXNfcnVubmluZzsKIAogICAgIHZjcHVfdW5ibG9jayh2KTsKKyAgICAvKgorICAgICAqIEp1 c3QgbGlrZSB2Y3B1X2tpY2soKSwgbm90aGluZyBpcyBuZWVkZWQgZm9yIHRoZSBmb2xsb3dpbmcg dHdvIGNhc2VzOgorICAgICAqIDEuIFRoZSB0YXJnZXQgdkNQVSBpcyBub3QgcnVubmluZywgbWVh bmluZyBpdCBpcyBibG9ja2VkIG9yIHJ1bm5hYmxlLgorICAgICAqIDIuIFRoZSB0YXJnZXQgdkNQ VSBpcyB0aGUgY3VycmVudCB2Q1BVIGFuZCB3ZSdyZSBpbiBub24taW50ZXJydXB0CisgICAgICog Y29udGV4dC4KKyAgICAgKi8KICAgICBpZiAoIHJ1bm5pbmcgJiYgKGluX2lycSgpIHx8ICh2ICE9 IGN1cnJlbnQpKSApCiAgICAgeworICAgICAgICAvKgorICAgICAgICAgKiBOb3RlOiBPbmx5IHR3 byBjYXNlcyB3aWxsIHJlYWNoIGhlcmU6CisgICAgICAgICAqIDEuIFRoZSB0YXJnZXQgdkNQVSBp cyBydW5uaW5nIG9uIG90aGVyIHBDUFUuCisgICAgICAgICAqIDIuIFRoZSB0YXJnZXQgdkNQVSBp cyB0aGUgY3VycmVudCB2Q1BVLgorICAgICAgICAgKgorICAgICAgICAgKiBOb3RlMjogRG9uJ3Qg d29ycnkgdGhlIHYtPnByb2Nlc3NvciBtYXkgY2hhbmdlLiBUaGUgdkNQVSBiZWluZworICAgICAg ICAgKiBtb3ZlZCB0byBhbm90aGVyIHByb2Nlc3NvciBpcyBndWFyYW50ZWVkIHRvIHN5bmMgUElS IHRvIHZJUlIsCisgICAgICAgICAqIGR1ZSB0byB0aGUgaW52b2x2ZWQgc2NoZWR1bGluZyBjeWNs ZS4KKyAgICAgICAgICovCiAgICAgICAgIHVuc2lnbmVkIGludCBjcHUgPSB2LT5wcm9jZXNzb3I7 CiAKLSAgICAgICAgaWYgKCAhdGVzdF9hbmRfc2V0X2JpdChWQ1BVX0tJQ0tfU09GVElSUSwgJnNv ZnRpcnFfcGVuZGluZyhjcHUpKQotICAgICAgICAgICAgICYmIChjcHUgIT0gc21wX3Byb2Nlc3Nv cl9pZCgpKSApCisgICAgICAgIC8qCisgICAgICAgICAqIEZvciBjYXNlIDEsIHdlIHNlbmQgYW4g SVBJIHRvIHRoZSBwQ1BVLiBXaGVuIGFuIElQSSBhcnJpdmVzLCB0aGUKKyAgICAgICAgICogdGFy Z2V0IHZDUFUgbWF5YmUgaXMgcnVubmluZyBpbiBub24tcm9vdCBtb2RlLCBydW5uaW5nIGluIHJv b3QKKyAgICAgICAgICogbW9kZSwgcnVubmFibGUgb3IgYmxvY2tlZC4gSWYgdGhlIHRhcmdldCB2 Q1BVIGlzIHJ1bm5pbmcgaW4KKyAgICAgICAgICogbm9uLXJvb3QgbW9kZSwgdGhlIGhhcmR3YXJl IHdpbGwgc3luYyBQSVIgdG8gdklSUiBmb3IKKyAgICAgICAgICogJ3Bvc3RlZF9pbnRyX3ZlY3Rv cicgaXMgc3BlY2lhbCB0byB0aGUgcENQVS4gSWYgdGhlIHRhcmdldCB2Q1BVIGlzCisgICAgICAg ICAqIHJ1bm5pbmcgaW4gcm9vdC1tb2RlLCB0aGUgaW50ZXJydXB0IGhhbmRsZXIgc3RhcnRzIHRv IHJ1bi4KKyAgICAgICAgICogQ29uc2lkZXJpbmcgYW4gSVBJIG1heSBhcnJpdmUgaW4gdGhlIHdp bmRvdyBiZXR3ZWVuIHRoZSBjYWxsIHRvCisgICAgICAgICAqIHZteF9pbnRyX2Fzc2lzdCgpIGFu ZCBpbnRlcnJ1cHRzIGdldHRpbmcgZGlzYWJsZWQsIHRoZSBpbnRlcnJ1cHQKKyAgICAgICAgICog aGFuZGxlciBzaG91bGQgcmFpc2UgYSBzb2Z0aXJxIHRvIGVuc3VyZSBldmVudHMgd2lsbCBiZSBk ZWxpdmVyZWQKKyAgICAgICAgICogaW4gdGltZS4gSWYgdGhlIHRhcmdldCB2Q1BVIGlzIHJ1bm5h YmxlLCBpdCB3aWxsIHN5bmMgUElSIHRvCisgICAgICAgICAqIHZJUlIgbmV4dCB0aW1lIGl0IGlz IGNob3NlIHRvIHJ1bi4gSW4gdGhpcyBjYXNlLCBhIElQSSBhbmQgYQorICAgICAgICAgKiBzb2Z0 aXJxIGlzIHNlbnQgdG8gYSB3cm9uZyB2Q1BVIHdoaWNoIHdpbGwgbm90IGhhdmUgYW55IGFkdmVy c2UKKyAgICAgICAgICogZWZmZWN0LiBJZiB0aGUgdGFyZ2V0IHZDUFUgaXMgYmxvY2tlZCwgc2lu Y2UgdmNwdV9ibG9jaygpIGNoZWNrcworICAgICAgICAgKiB3aGV0aGVyIHRoZXJlIGlzIGFuIGV2 ZW50IHRvIGJlIGRlbGl2ZXJlZCB0aHJvdWdoCisgICAgICAgICAqIGxvY2FsX2V2ZW50c19uZWVk X2RlbGl2ZXJ5KCkganVzdCBhZnRlciBibG9ja2luZywgdGhlIHZDUFUgbXVzdAorICAgICAgICAg KiBoYXZlIHN5bmNlZCBQSVIgdG8gdklSUi4gU2ltaWxhcmx5LCB0aGVyZSBpcyBhIElQSSBhbmQg YSBzb2Z0aXJxCisgICAgICAgICAqIHNlbnQgdG8gYSB3cm9uZyB2Q1BVLgorICAgICAgICAgKi8K KyAgICAgICAgaWYgKCBjcHUgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpICkKICAgICAgICAgICAgIHNl bmRfSVBJX21hc2soY3B1bWFza19vZihjcHUpLCBwb3N0ZWRfaW50cl92ZWN0b3IpOworICAgICAg ICAvKgorICAgICAgICAgKiBGb3IgY2FzZSAyLCByYWlzaW5nIGEgc29mdGlycSBlbnN1cmVzIFBJ UiB3aWxsIGJlIHN5bmNlZCB0byB2SVJSLgorICAgICAgICAgKiBBcyBhbnkgc29mdGlycSB3aWxs IGRvLCBhcyBhbiBvcHRpbWl6YXRpb24gd2Ugb25seSByYWlzZSBvbmUgaWYKKyAgICAgICAgICog bm9uZSBpcyBwZW5kaW5nIGFscmVhZHkuCisgICAgICAgICAqLworICAgICAgICBlbHNlIGlmICgg IXNvZnRpcnFfcGVuZGluZyhjcHUpICkKKyAgICAgICAgICAgIHJhaXNlX3NvZnRpcnEoVkNQVV9L SUNLX1NPRlRJUlEpOwogICAgIH0KIH0KIApAQCAtMjI4MSwxMyArMjMyMSw5IEBAIGNvbnN0IHN0 cnVjdCBodm1fZnVuY3Rpb25fdGFibGUgKiBfX2luaXQgc3RhcnRfdm14KHZvaWQpCiAKICAgICBp ZiAoIGNwdV9oYXNfdm14X3Bvc3RlZF9pbnRyX3Byb2Nlc3NpbmcgKQogICAgIHsKKyAgICAgICAg YWxsb2NfZGlyZWN0X2FwaWNfdmVjdG9yKCZwb3N0ZWRfaW50cl92ZWN0b3IsIHBpX25vdGlmaWNh dGlvbl9pbnRlcnJ1cHQpOwogICAgICAgICBpZiAoIGlvbW11X2ludHBvc3QgKQotICAgICAgICB7 Ci0gICAgICAgICAgICBhbGxvY19kaXJlY3RfYXBpY192ZWN0b3IoJnBvc3RlZF9pbnRyX3ZlY3Rv ciwgcGlfbm90aWZpY2F0aW9uX2ludGVycnVwdCk7CiAgICAgICAgICAgICBhbGxvY19kaXJlY3Rf YXBpY192ZWN0b3IoJnBpX3dha2V1cF92ZWN0b3IsIHBpX3dha2V1cF9pbnRlcnJ1cHQpOwotICAg ICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFsbG9jX2RpcmVjdF9hcGljX3ZlY3Rv cigmcG9zdGVkX2ludHJfdmVjdG9yLCBldmVudF9jaGVja19pbnRlcnJ1cHQpOwogICAgIH0KICAg ICBlbHNlCiAgICAgewotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=