From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: use tasklet to handle init/sipi? Date: Tue, 26 Mar 2013 07:55:55 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="B_3447129362_15121255" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: "Zhang, Yang Z" , "xen-devel@lists.xen.org" Cc: "Qiu, Shuang" , "Zhang, Xiantao" , Jan Beulich List-Id: xen-devel@lists.xenproject.org > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3447129362_15121255 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit On 26/03/2013 07:41, "Zhang, Yang Z" wrote: > Keir Fraser wrote on 2013-03-26: >> On 26/03/2013 07:17, "Zhang, Yang Z" wrote: >> >>>>> Oh, I see. Well I think it is fine to have >>>>> vlapic_schedule_init_sipi_tasklet() return X86EMUL_OKAY rather than >>>>> X86EMUL_RETRY. We used to need to return RETRY, but the code got >>>>> simplified and now it is actually unnecessary. >>>>> >>>>> That should make your patch a lot simpler eh? ;) >>>> >>>> Given that you ignore the return code on the apicv call path, is there >>>> currently a bug at all for you? Seems what is there already must work >>>> for you? >>> It do cause bug after we change to use seabios. For seabios, it will >>> send INIT/SIPI to all vcpus via broadcasting. And there only one vcpu >>> is waken up via tasklet with current logic. That's the reason why I >>> want to wakeup all vcpus on one callback. Just change X86EMUL_RETRY to >>> OK cannot solve the problem. still need the logic I mentioned above. >> >> Ok, wait a sec, I will sort out a patch for you to try... > Thanks. Actually, I have patch on hand and testing it now. But it's ok if you > can provide a more better solution. See how you like it compared with the attached patch. Attached doesn't really make the code any more complicated, which is nice. However it is not tested, at all. ;) -- Keir > Best regards, > Yang > > --B_3447129362_15121255 Content-type: application/octet-stream; name="00-vlapic-init" Content-disposition: attachment; filename="00-vlapic-init" Content-transfer-encoding: base64 ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZt L2h2bS5jCmluZGV4IGVhN2FkZjYuLjM4ZTg3Y2UgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtMzQ2MSw4ICsz NDYxLDYgQEAgdm9pZCBodm1fdmNwdV9yZXNldF9zdGF0ZShzdHJ1Y3QgdmNwdSAqdiwgdWlu dDE2X3QgY3MsIHVpbnQxNl90IGlwKQogICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21h aW47CiAgICAgc3RydWN0IHNlZ21lbnRfcmVnaXN0ZXIgcmVnOwogCi0gICAgQlVHX09OKHZj cHVfcnVubmFibGUodikpOwotCiAgICAgZG9tYWluX2xvY2soZCk7CiAKICAgICBpZiAoIHYt PmlzX2luaXRpYWxpc2VkICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGlj LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZsYXBpYy5jCmluZGV4IDM4ZmYyMTYuLmJiODk3YmIg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMKKysrIGIveGVuL2FyY2gv eDg2L2h2bS92bGFwaWMuYwpAQCAtMjQzLDE4ICsyNDMsMjIgQEAgYm9vbF90IHZsYXBpY19t YXRjaF9kZXN0KAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCB2bGFwaWNfaW5p dF9zaXBpX2FjdGlvbih1bnNpZ25lZCBsb25nIF92Y3B1KQorc3RhdGljIHZvaWQgdmxhcGlj X2luaXRfc2lwaV9vbmUoc3RydWN0IHZjcHUgKnRhcmdldCwgdWludDMyX3QgaWNyKQogewot ICAgIHN0cnVjdCB2Y3B1ICpvcmlnaW4gPSAoc3RydWN0IHZjcHUgKilfdmNwdTsKLSAgICBz dHJ1Y3QgdmNwdSAqdGFyZ2V0ID0gdmNwdV92bGFwaWMob3JpZ2luKS0+aW5pdF9zaXBpLnRh cmdldDsKLSAgICB1aW50MzJfdCBpY3IgPSB2Y3B1X3ZsYXBpYyhvcmlnaW4pLT5pbml0X3Np cGkuaWNyOwotCiAgICAgdmNwdV9wYXVzZSh0YXJnZXQpOwogCiAgICAgc3dpdGNoICggaWNy ICYgQVBJQ19NT0RFX01BU0sgKQogICAgIHsKICAgICBjYXNlIEFQSUNfRE1fSU5JVDogewog ICAgICAgICBib29sX3QgZnB1X2luaXRpYWxpc2VkOworICAgICAgICAvKiBObyB3b3JrIG9u IElOSVQgZGUtYXNzZXJ0IGZvciBQNC10eXBlIEFQSUMuICovCisgICAgICAgIGlmICggKGlj ciAmIChBUElDX0lOVF9MRVZFTFRSSUcgfCBBUElDX0lOVF9BU1NFUlQpKSA9PQorICAgICAg ICAgICAgIEFQSUNfSU5UX0xFVkVMVFJJRyApCisgICAgICAgICAgICBicmVhazsKKyAgICAg ICAgLyogTm90aGluZyB0byBkbyBpZiB0aGUgVkNQVSBpcyBhbHJlYWR5IHJlc2V0LiAqLwor ICAgICAgICBpZiAoICF0YXJnZXQtPmlzX2luaXRpYWxpc2VkICkKKyAgICAgICAgICAgIGJy ZWFrOworICAgICAgICBodm1fdmNwdV9kb3duKHRhcmdldCk7CiAgICAgICAgIGRvbWFpbl9s b2NrKHRhcmdldC0+ZG9tYWluKTsKICAgICAgICAgLyogUmVzZXQgbmVjZXNzYXJ5IFZDUFUg c3RhdGUuIFRoaXMgZG9lcyBub3QgaW5jbHVkZSBGUFUgc3RhdGUuICovCiAgICAgICAgIGZw dV9pbml0aWFsaXNlZCA9IHRhcmdldC0+ZnB1X2luaXRpYWxpc2VkOwpAQCAtMjc2LDI4ICsy ODAsMjkgQEAgc3RhdGljIHZvaWQgdmxhcGljX2luaXRfc2lwaV9hY3Rpb24odW5zaWduZWQg bG9uZyBfdmNwdSkKICAgICB9CiAKICAgICB2Y3B1X3VucGF1c2UodGFyZ2V0KTsKLQotICAg IHZjcHVfdmxhcGljKG9yaWdpbiktPmluaXRfc2lwaS50YXJnZXQgPSBOVUxMOwotICAgIHZj cHVfdW5wYXVzZShvcmlnaW4pOwogfQogCi1zdGF0aWMgaW50IHZsYXBpY19zY2hlZHVsZV9p bml0X3NpcGlfdGFza2xldChzdHJ1Y3QgdmNwdSAqdGFyZ2V0LCB1aW50MzJfdCBpY3IpCitz dGF0aWMgdm9pZCB2bGFwaWNfaW5pdF9zaXBpX2FjdGlvbih1bnNpZ25lZCBsb25nIF92Y3B1 KQogewotICAgIHN0cnVjdCB2Y3B1ICpvcmlnaW4gPSBjdXJyZW50OworICAgIHN0cnVjdCB2 Y3B1ICpvcmlnaW4gPSAoc3RydWN0IHZjcHUgKilfdmNwdTsKKyAgICB1aW50MzJfdCBpY3Ig PSB2Y3B1X3ZsYXBpYyhvcmlnaW4pLT5pbml0X3NpcGkuaWNyOworICAgIHVpbnQzMl90IGRl c3QgPSB2Y3B1X3ZsYXBpYyhvcmlnaW4pLT5pbml0X3NpcGkuZGVzdDsKKyAgICB1aW50MzJf dCBzaG9ydF9oYW5kID0gaWNyICYgQVBJQ19TSE9SVF9NQVNLOworICAgIHVpbnQzMl90IGRl c3RfbW9kZSAgPSAhIShpY3IgJiBBUElDX0RFU1RfTUFTSyk7CisgICAgc3RydWN0IHZjcHUg KnY7CiAKLSAgICBpZiAoIHZjcHVfdmxhcGljKG9yaWdpbiktPmluaXRfc2lwaS50YXJnZXQg IT0gTlVMTCApCisgICAgaWYgKCBpY3IgPT0gMCApCisgICAgICAgIHJldHVybjsKKworICAg IGZvcl9lYWNoX3ZjcHUgKCBvcmlnaW4tPmRvbWFpbiwgdiApCiAgICAgewotICAgICAgICBX QVJOKCk7IC8qIHNob3VsZCBiZSBpbXBvc3NpYmxlIGJ1dCBkb24ndCBCVUcsIGp1c3QgaW4g Y2FzZSAqLwotICAgICAgICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7CisgICAgICAg IGlmICggdmxhcGljX21hdGNoX2Rlc3QodmNwdV92bGFwaWModiksIHZjcHVfdmxhcGljKG9y aWdpbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnRfaGFuZCwgZGVz dCwgZGVzdF9tb2RlKSApCisgICAgICAgICAgICB2bGFwaWNfaW5pdF9zaXBpX29uZSh2LCBp Y3IpOwogICAgIH0KIAotICAgIHZjcHVfcGF1c2Vfbm9zeW5jKG9yaWdpbik7Ci0KLSAgICB2 Y3B1X3ZsYXBpYyhvcmlnaW4pLT5pbml0X3NpcGkudGFyZ2V0ID0gdGFyZ2V0OwotICAgIHZj cHVfdmxhcGljKG9yaWdpbiktPmluaXRfc2lwaS5pY3IgPSBpY3I7Ci0gICAgdGFza2xldF9z Y2hlZHVsZSgmdmNwdV92bGFwaWMob3JpZ2luKS0+aW5pdF9zaXBpLnRhc2tsZXQpOwotCi0g ICAgcmV0dXJuIFg4NkVNVUxfUkVUUlk7CisgICAgdmNwdV92bGFwaWMob3JpZ2luKS0+aW5p dF9zaXBpLmljciA9IDA7CisgICAgdmNwdV91bnBhdXNlKG9yaWdpbik7CiB9CiAKIC8qIEFk ZCBhIHBlbmRpbmcgSVJRIGludG8gbGFwaWMuICovCkBAIC0zMzksMjMgKzM0NCw5IEBAIHN0 YXRpYyBpbnQgdmxhcGljX2FjY2VwdF9pcnEoc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IGlj cl9sb3cpCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBBUElDX0RNX0lOSVQ6Ci0gICAg ICAgIC8qIE5vIHdvcmsgb24gSU5JVCBkZS1hc3NlcnQgZm9yIFA0LXR5cGUgQVBJQy4gKi8K LSAgICAgICAgaWYgKCAoaWNyX2xvdyAmIChBUElDX0lOVF9MRVZFTFRSSUcgfCBBUElDX0lO VF9BU1NFUlQpKSA9PQotICAgICAgICAgICAgIEFQSUNfSU5UX0xFVkVMVFJJRyApCi0gICAg ICAgICAgICBicmVhazsKLSAgICAgICAgLyogTm90aGluZyB0byBkbyBpZiB0aGUgVkNQVSBp cyBhbHJlYWR5IHJlc2V0LiAqLwotICAgICAgICBpZiAoICF2LT5pc19pbml0aWFsaXNlZCAp Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgaHZtX3ZjcHVfZG93bih2KTsKLSAgICAg ICAgcmMgPSB2bGFwaWNfc2NoZWR1bGVfaW5pdF9zaXBpX3Rhc2tsZXQodiwgaWNyX2xvdyk7 Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBBUElDX0RNX1NUQVJUVVA6Ci0gICAgICAg IC8qIE5vdGhpbmcgdG8gZG8gaWYgdGhlIFZDUFUgaXMgYWxyZWFkeSBpbml0aWFsaXNlZC4g Ki8KLSAgICAgICAgaWYgKCB2LT5pc19pbml0aWFsaXNlZCApCi0gICAgICAgICAgICBicmVh azsKLSAgICAgICAgcmMgPSB2bGFwaWNfc2NoZWR1bGVfaW5pdF9zaXBpX3Rhc2tsZXQodiwg aWNyX2xvdyk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICAvKiBIYW5kbGVkIGluIHZsYXBp Y19pcGkoKS4gKi8KKyAgICAgICAgQlVHKCk7CiAKICAgICBkZWZhdWx0OgogICAgICAgICBn ZHByaW50ayhYRU5MT0dfRVJSLCAiVE9ETzogdW5zdXBwb3J0ZWQgZGVsaXZlcnkgbW9kZSBp biBJQ1IgJXhcbiIsCkBAIC00MjcsOCArNDE4LDYgQEAgaW50IHZsYXBpY19pcGkoCiAgICAg dW5zaWduZWQgaW50IGRlc3Q7CiAgICAgdW5zaWduZWQgaW50IHNob3J0X2hhbmQgPSBpY3Jf bG93ICYgQVBJQ19TSE9SVF9NQVNLOwogICAgIHVuc2lnbmVkIGludCBkZXN0X21vZGUgID0g ISEoaWNyX2xvdyAmIEFQSUNfREVTVF9NQVNLKTsKLSAgICBzdHJ1Y3QgdmxhcGljICp0YXJn ZXQ7Ci0gICAgc3RydWN0IHZjcHUgKnY7CiAgICAgaW50IHJjID0gWDg2RU1VTF9PS0FZOwog CiAgICAgSFZNX0RCR19MT0coREJHX0xFVkVMX1ZMQVBJQywgImljciA9IDB4JTA4eDolMDh4 IiwgaWNyX2hpZ2gsIGljcl9sb3cpOwpAQCAtNDM3LDIyICs0MjYsNDEgQEAgaW50IHZsYXBp Y19pcGkoCiAgICAgICAgICAgICA/IGljcl9oaWdoCiAgICAgICAgICAgICA6IEdFVF94QVBJ Q19ERVNUX0ZJRUxEKGljcl9oaWdoKSk7CiAKLSAgICBpZiAoIChpY3JfbG93ICYgQVBJQ19N T0RFX01BU0spID09IEFQSUNfRE1fTE9XRVNUICkKKyAgICBzd2l0Y2ggKCBpY3JfbG93ICYg QVBJQ19NT0RFX01BU0sgKQogICAgIHsKLSAgICAgICAgdGFyZ2V0ID0gdmxhcGljX2xvd2Vz dF9wcmlvKHZsYXBpY19kb21haW4odmxhcGljKSwgdmxhcGljLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2hvcnRfaGFuZCwgZGVzdCwgZGVzdF9tb2RlKTsKKyAg ICBjYXNlIEFQSUNfRE1fSU5JVDoKKyAgICBjYXNlIEFQSUNfRE1fU1RBUlRVUDoKKyAgICAg ICAgaWYgKCB2bGFwaWMtPmluaXRfc2lwaS5pY3IgIT0gMCApCisgICAgICAgIHsKKyAgICAg ICAgICAgIFdBUk4oKTsgLyogc2hvdWxkIGJlIGltcG9zc2libGUgYnV0IGRvbid0IEJVRywg anVzdCBpbiBjYXNlICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAg ICB2Y3B1X3BhdXNlX25vc3luYyh2bGFwaWNfdmNwdSh2bGFwaWMpKTsKKyAgICAgICAgdmxh cGljLT5pbml0X3NpcGkuaWNyID0gaWNyX2xvdzsKKyAgICAgICAgdmxhcGljLT5pbml0X3Np cGkuZGVzdCA9IGRlc3Q7CisgICAgICAgIHRhc2tsZXRfc2NoZWR1bGUoJnZsYXBpYy0+aW5p dF9zaXBpLnRhc2tsZXQpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgQVBJQ19ETV9M T1dFU1Q6IHsKKyAgICAgICAgc3RydWN0IHZsYXBpYyAqdGFyZ2V0ID0gdmxhcGljX2xvd2Vz dF9wcmlvKAorICAgICAgICAgICAgdmxhcGljX2RvbWFpbih2bGFwaWMpLCB2bGFwaWMsIHNo b3J0X2hhbmQsIGRlc3QsIGRlc3RfbW9kZSk7CiAgICAgICAgIGlmICggdGFyZ2V0ICE9IE5V TEwgKQogICAgICAgICAgICAgcmMgPSB2bGFwaWNfYWNjZXB0X2lycSh2bGFwaWNfdmNwdSh0 YXJnZXQpLCBpY3JfbG93KTsKLSAgICAgICAgcmV0dXJuIHJjOworICAgICAgICBicmVhazsK ICAgICB9CiAKLSAgICBmb3JfZWFjaF92Y3B1ICggdmxhcGljX2RvbWFpbih2bGFwaWMpLCB2 ICkKLSAgICB7Ci0gICAgICAgIGlmICggdmxhcGljX21hdGNoX2Rlc3QodmNwdV92bGFwaWMo diksIHZsYXBpYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9oYW5k LCBkZXN0LCBkZXN0X21vZGUpICkKKyAgICBkZWZhdWx0OiB7CisgICAgICAgIHN0cnVjdCB2 Y3B1ICp2OworICAgICAgICBmb3JfZWFjaF92Y3B1ICggdmxhcGljX2RvbWFpbih2bGFwaWMp LCB2ICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCB2bGFwaWNfbWF0Y2hfZGVzdCh2 Y3B1X3ZsYXBpYyh2KSwgdmxhcGljLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzaG9ydF9oYW5kLCBkZXN0LCBkZXN0X21vZGUpICkKICAgICAgICAgICAgICAgICBy YyA9IHZsYXBpY19hY2NlcHRfaXJxKHYsIGljcl9sb3cpOwotICAgICAgICBpZiAoIHJjICE9 IFg4NkVNVUxfT0tBWSApCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlmICgg cmMgIT0gWDg2RU1VTF9PS0FZICkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg fQorICAgICAgICBicmVhazsKKyAgICB9CiAgICAgfQogCiAgICAgcmV0dXJuIHJjOwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmxhcGljLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS92bGFwaWMuaAppbmRleCAwOWNiNjNjLi44NTM3YTM1IDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bGFwaWMuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS92bGFwaWMuaApAQCAtNjIsOCArNjIsNyBAQCBzdHJ1Y3QgdmxhcGlj IHsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICAgICAgICAgKnJlZ3NfcGFnZTsKICAgICAvKiBJ TklULVNJUEktU0lQSSB3b3JrIGdldHMgZGVmZXJyZWQgdG8gYSB0YXNrbGV0LiAqLwogICAg IHN0cnVjdCB7Ci0gICAgICAgIHN0cnVjdCB2Y3B1ICAgICAgICAgICp0YXJnZXQ7Ci0gICAg ICAgIHVpbnQzMl90ICAgICAgICAgICAgIGljcjsKKyAgICAgICAgdWludDMyX3QgICAgICAg ICAgICAgaWNyLCBkZXN0OwogICAgICAgICBzdHJ1Y3QgdGFza2xldCAgICAgICB0YXNrbGV0 OwogICAgIH0gaW5pdF9zaXBpOwogfTsK --B_3447129362_15121255 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --B_3447129362_15121255--