From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v11 1/6] passthrough: don't migrate pirq when it is delivered through VT-d PI Date: Wed, 29 Mar 2017 13:11:50 +0800 Message-ID: <1490764315-7162-2-git-send-email-chao.gao@intel.com> References: <1490764315-7162-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: In-Reply-To: <1490764315-7162-1-git-send-email-chao.gao@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: Andrew Cooper , Jan Beulich , Chao Gao List-Id: xen-devel@lists.xenproject.org V2hlbiBhIHZDUFUgbWlncmF0ZWQgdG8gYW5vdGhlciBwQ1BVLCBwdCBpcnFzIGJpbmRlZCB0byB0 aGlzIHZDUFUgYWxzbyBuZWVkZWQKbWlncmF0aW9uLiBXaGVuIFZULWQgUEkgaXMgZW5hYmxlZCwg aW50ZXJydXB0IHZlY3RvciB3aWxsIGJlIHJlY29yZGVkIHRvCmEgbWFpbiBtZW1vcnkgcmVzaWRl bnQgZGF0YS1zdHJ1Y3R1cmUgYW5kIGEgbm90aWZpY2F0aW9uIHdob3NlIGRlc3RpbmF0aW9uCmlz IGRlY2lkZWQgYnkgTkRTVCBpcyBnZW5lcmF0ZWQuIE5EU1QgaXMgcHJvcGVybHkgYWRqdXN0ZWQg ZHVyaW5nIHZDUFUKbWlncmF0aW9uIHNvIHBpcnEgZGlyZWN0bHkgaW5qZWN0ZWQgdG8gZ3Vlc3Qg bmVlZG4ndCBiZSBtaWdyYXRlZC4KClRoaXMgcGF0Y2ggYWRkcyBhIGluZGljYXRvciwgQHBvc3Rl ZCwgdG8gc2hvdyB3aGV0aGVyIHRoZSBwdCBpcnEgaXMgZGVsaXZlcmVkCnRocm91Z2ggVlQtZCBQ SS4KClNpZ25lZC1vZmYtYnk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Ci0tLQp2MTE6 Ci0gcmVuYW1lIHRoZSBpbmRpY2F0b3IgdG8gJ3Bvc3RlZCcKLSBtb3ZlIHNldHRpbmcgJ3Bvc3Rl ZCcgZmllbGQgdG8gZXZlbnQgbG9jayB1bi1sb2NrZWQgcmVnaW9uLgoKdjEwOgotIE5ld2x5IGFk ZGVkLgoKIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICAgfCAgMyArKysKIHhlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2lvLmMgfCA2MiArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL2h2bS9pcnEuaCAgICB8ICAxICsKIDMgZmlsZXMg Y2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggMDI4 Mjk4Ni4uMmQ4ZGUxNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC00MzgsNiArNDM4LDkgQEAgc3RhdGljIGludCBodm1f bWlncmF0ZV9waXJxKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBodm1fcGlycV9kcGNpICpwaXJx X2RwY2ksCiAgICAgc3RydWN0IHZjcHUgKnYgPSBhcmc7CiAKICAgICBpZiAoIChwaXJxX2RwY2kt PmZsYWdzICYgSFZNX0lSUV9EUENJX01BQ0hfTVNJKSAmJgorICAgICAgICAgKHBpcnFfZHBjaS0+ ZmxhZ3MgJiBIVk1fSVJRX0RQQ0lfR1VFU1RfTVNJKSAmJgorICAgICAgICAgLyogTmVlZG4ndCBt aWdyYXRlIHBpcnEgaWYgdGhpcyBwaXJxIGlzIGRlbGl2ZXJlZCB0byBndWVzdCBkaXJlY3RseS4q LworICAgICAgICAgKCFwaXJxX2RwY2ktPmdtc2kucG9zdGVkKSAmJgogICAgICAgICAgKHBpcnFf ZHBjaS0+Z21zaS5kZXN0X3ZjcHVfaWQgPT0gdi0+dmNwdV9pZCkgKQogICAgIHsKICAgICAgICAg c3RydWN0IGlycV9kZXNjICpkZXNjID0KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL2lvLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pby5jCmluZGV4IDA4MDE4M2UuLmQ1 Mzk3NmMgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvLmMKKysrIGIveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvaW8uYwpAQCAtMjU5LDUyICsyNTksNiBAQCBzdGF0aWMgc3Ry dWN0IHZjcHUgKnZlY3Rvcl9oYXNoaW5nX2Rlc3QoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwKICAg ICByZXR1cm4gZGVzdDsKIH0KIAotLyoKLSAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgcm91dGluZSBp cyB0byBmaW5kIHRoZSByaWdodCBkZXN0aW5hdGlvbiB2Q1BVIGZvcgotICogYW4gaW50ZXJydXB0 IHdoaWNoIHdpbGwgYmUgZGVsaXZlcmVkIGJ5IFZULWQgcG9zdGVkLWludGVycnVwdC4gVGhlcmUK LSAqIGFyZSBzZXZlcmFsIGNhc2VzIGFzIGJlbG93OgotICoKLSAqIC0gRm9yIGxvd2VzdC1wcmlv cml0eSBpbnRlcnJ1cHRzLCB1c2UgdmVjdG9yLWhhc2hpbmcgbWVjaGFuaXNtIHRvIGZpbmQKLSAq ICAgdGhlIGRlc3RpbmF0aW9uLgotICogLSBPdGhlcndpc2UsIGZvciBzaW5nbGUgZGVzdGluYXRp b24gaW50ZXJydXB0LCBpdCBpcyBzdHJhaWdodGZvcndhcmQgdG8KLSAqICAgZmluZCB0aGUgZGVz dGluYXRpb24gdkNQVSBhbmQgcmV0dXJuIHRydWUuCi0gKiAtIEZvciBtdWx0aWNhc3QvYnJvYWRj YXN0IHZDUFUsIHdlIGNhbm5vdCBoYW5kbGUgaXQgdmlhIGludGVycnVwdCBwb3N0aW5nLAotICog ICBzbyByZXR1cm4gTlVMTC4KLSAqLwotc3RhdGljIHN0cnVjdCB2Y3B1ICpwaV9maW5kX2Rlc3Rf dmNwdShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBkZXN0X2lkLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgZGVzdF9tb2RlLCB1aW50OF90IGRl bGl2ZXJ5X21vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4 X3QgZ3ZlYykKLXsKLSAgICB1bnNpZ25lZCBpbnQgZGVzdF92Y3B1cyA9IDA7Ci0gICAgc3RydWN0 IHZjcHUgKnYsICpkZXN0ID0gTlVMTDsKLQotICAgIHN3aXRjaCAoIGRlbGl2ZXJ5X21vZGUgKQot ICAgIHsKLSAgICBjYXNlIGRlc3RfTG93ZXN0UHJpbzoKLSAgICAgICAgcmV0dXJuIHZlY3Rvcl9o YXNoaW5nX2Rlc3QoZCwgZGVzdF9pZCwgZGVzdF9tb2RlLCBndmVjKTsKLSAgICBjYXNlIGRlc3Rf Rml4ZWQ6Ci0gICAgICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkKLSAgICAgICAgewotICAgICAg ICAgICAgaWYgKCAhdmxhcGljX21hdGNoX2Rlc3QodmNwdV92bGFwaWModiksIE5VTEwsIEFQSUNf REVTVF9OT1NIT1JULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdF9p ZCwgZGVzdF9tb2RlKSApCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAg IGRlc3RfdmNwdXMrKzsKLSAgICAgICAgICAgIGRlc3QgPSB2OwotICAgICAgICB9Ci0KLSAgICAg ICAgLyogRm9yIGZpeGVkIG1vZGUsIHdlIG9ubHkgaGFuZGxlIHNpbmdsZS1kZXN0aW5hdGlvbiBp bnRlcnJ1cHRzLiAqLwotICAgICAgICBpZiAoIGRlc3RfdmNwdXMgPT0gMSApCi0gICAgICAgICAg ICByZXR1cm4gZGVzdDsKLQotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBi cmVhazsKLSAgICB9Ci0KLSAgICByZXR1cm4gTlVMTDsKLX0KLQogaW50IHB0X2lycV9jcmVhdGVf YmluZCgKICAgICBzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fZG9tY3RsX2JpbmRfcHRfaXJxX3QgKnB0 X2lycV9iaW5kKQogewpAQCAtMzY1LDYgKzMxOSw3IEBAIGludCBwdF9pcnFfY3JlYXRlX2JpbmQo CiAgICAgewogICAgICAgICB1aW50OF90IGRlc3QsIGRlc3RfbW9kZSwgZGVsaXZlcnlfbW9kZTsK ICAgICAgICAgaW50IGRlc3RfdmNwdV9pZDsKKyAgICAgICAgY29uc3Qgc3RydWN0IHZjcHUgKnZj cHU7CiAKICAgICAgICAgaWYgKCAhKHBpcnFfZHBjaS0+ZmxhZ3MgJiBIVk1fSVJRX0RQQ0lfTUFQ UEVEKSApCiAgICAgICAgIHsKQEAgLTQ0MiwxNyArMzk3LDI0IEBAIGludCBwdF9pcnFfY3JlYXRl X2JpbmQoCiAgICAgICAgIGRlc3RfdmNwdV9pZCA9IGh2bV9naXJxX2Rlc3RfMl92Y3B1X2lkKGQs IGRlc3QsIGRlc3RfbW9kZSk7CiAgICAgICAgIHBpcnFfZHBjaS0+Z21zaS5kZXN0X3ZjcHVfaWQg PSBkZXN0X3ZjcHVfaWQ7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZkLT5ldmVudF9sb2NrKTsKKwor ICAgICAgICBwaXJxX2RwY2ktPmdtc2kucG9zdGVkID0gZmFsc2U7CisgICAgICAgIHZjcHUgPSAo ZGVzdF92Y3B1X2lkID49IDApID8gZC0+dmNwdVtkZXN0X3ZjcHVfaWRdIDogTlVMTDsKKyAgICAg ICAgaWYgKCBpb21tdV9pbnRwb3N0ICYmIChkZWxpdmVyeV9tb2RlID09IGRlc3RfTG93ZXN0UHJp bykgKQorICAgICAgICB7CisgICAgICAgICAgICB2Y3B1ID0gdmVjdG9yX2hhc2hpbmdfZGVzdChk LCBkZXN0LCBkZXN0X21vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwaXJxX2RwY2ktPmdtc2kuZ3ZlYyk7CisgICAgICAgICAgICBpZiAoIHZjcHUgKQorICAgICAg ICAgICAgICAgIHBpcnFfZHBjaS0+Z21zaS5wb3N0ZWQgPSB0cnVlOworICAgICAgICB9CiAgICAg ICAgIGlmICggZGVzdF92Y3B1X2lkID49IDAgKQogICAgICAgICAgICAgaHZtX21pZ3JhdGVfcGly cXMoZC0+dmNwdVtkZXN0X3ZjcHVfaWRdKTsKIAogICAgICAgICAvKiBVc2UgaW50ZXJydXB0IHBv c3RpbmcgaWYgaXQgaXMgc3VwcG9ydGVkLiAqLwogICAgICAgICBpZiAoIGlvbW11X2ludHBvc3Qg KQogICAgICAgICB7Ci0gICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdmNwdSAqdmNwdSA9IHBpX2Zp bmRfZGVzdF92Y3B1KGQsIGRlc3QsIGRlc3RfbW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5X21vZGUsIHBpcnFfZHBjaS0+Z21zaS5ndmVjKTsK LQogICAgICAgICAgICAgaWYgKCB2Y3B1ICkKLSAgICAgICAgICAgICAgICBwaV91cGRhdGVfaXJ0 ZSggdmNwdSwgaW5mbywgcGlycV9kcGNpLT5nbXNpLmd2ZWMgKTsKKyAgICAgICAgICAgICAgICBw aV91cGRhdGVfaXJ0ZSh2Y3B1LCBpbmZvLCBwaXJxX2RwY2ktPmdtc2kuZ3ZlYyk7CiAgICAgICAg ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfR19JTkZPLAogICAgICAg ICAgICAgICAgICAgICAgICAgIiVwdjogZGVsaXZlciBpbnRlcnJ1cHQgaW4gcmVtYXBwaW5nIG1v ZGUsZ3ZlYzolMDJ4XG4iLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2h2bS9pcnEuaCBi L3hlbi9pbmNsdWRlL3hlbi9odm0vaXJxLmgKaW5kZXggZDNmODYyMy4uNTY2ODU0YSAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUveGVuL2h2bS9pcnEuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaHZt L2lycS5oCkBAIC02Myw2ICs2Myw3IEBAIHN0cnVjdCBodm1fZ21zaV9pbmZvIHsKICAgICB1aW50 MzJfdCBndmVjOwogICAgIHVpbnQzMl90IGdmbGFnczsKICAgICBpbnQgZGVzdF92Y3B1X2lkOyAv KiAtMSA6bXVsdGktZGVzdCwgbm9uLW5lZ2F0aXZlOiBkZXN0X3ZjcHVfaWQgKi8KKyAgICBib29s IHBvc3RlZDsgLyogZGlyZWN0bHkgZGVsaXZlciB0byBndWVzdCB2aWEgVlQtZCBQST8gKi8KIH07 CiAKIHN0cnVjdCBodm1fZ2lycV9kcGNpX21hcHBpbmcgewotLSAKMS44LjMuMQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=