From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 2/3] xen: add hypercall option to temporarily pin a vcpu Date: Tue, 1 Mar 2016 10:02:12 +0100 Message-ID: <1456822933-25041-3-git-send-email-jgross@suse.com> References: <1456822933-25041-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456822933-25041-1-git-send-email-jgross@suse.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: Juergen Gross , wei.liu2@citrix.com, stefano.stabellini@eu.citrix.com, george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, david.vrabel@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org U29tZSBoYXJkd2FyZSAoZS5nLiBEZWxsIHN0dWRpbyAxNTU1IGxhcHRvcHMpIHJlcXVpcmUgU01J cyB0byBiZQpjYWxsZWQgb24gcGh5c2ljYWwgY3B1IDAgb25seS4gTGludXggZHJpdmVycyBsaWtl IGRjZGJhcyBvciBpOGsgdHJ5CnRvIGFjaGlldmUgdGhpcyBieSBwaW5uaW5nIHRoZSBydW5uaW5n IHRocmVhZCB0byBjcHUgMCwgYnV0IGluIERvbTAKdGhpcyBpcyBub3QgZW5vdWdoOiB0aGUgdmNw dSBtdXN0IGJlIHBpbm5lZCB0byBwaHlzaWNhbCBjcHUgMCB2aWEKWGVuLCB0b28uCgpBZGQgYSBz dGFibGUgaHlwZXJjYWxsIG9wdGlvbiBTQ0hFRE9QX3Bpbl90ZW1wIHRvIHRoZSBzY2hlZF9vcApo eXBlcmNhbGwgdG8gYWNoaWV2ZSB0aGlzLiBJdCBpcyB0YWtpbmcgYSBwaHlzaWNhbCBjcHUgbnVt YmVyIGFzCnBhcmFtZXRlci4gSWYgcGlubmluZyBpcyBwb3NzaWJsZSAodGhlIGNhbGxpbmcgZG9t YWluIGhhcyB0aGUKcHJpdmlsZWdlIHRvIG1ha2UgdGhlIGNhbGwgYW5kIHRoZSBjcHUgaXMgYXZh aWxhYmxlIGluIHRoZSBkb21haW4ncwpjcHVwb29sKSB0aGUgY2FsbGluZyB2Y3B1IGlzIHBpbm5l ZCB0byB0aGUgc3BlY2lmaWVkIGNwdS4gVGhlIG9sZApjcHUgYWZmaW5pdHkgaXMgc2F2ZWQuIFRv IHVuZG8gdGhlIHRlbXBvcmFyeSBwaW5uaW5nIGEgY3B1IC0xIGlzCnNwZWNpZmllZC4gVGhpcyB3 aWxsIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGNwdSBhZmZpbml0eSBmb3IgdGhlIHZjcHUuCgpTaWdu ZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQpWMjogLSBsaW1p dCBvcGVyYXRpb24gdG8gaGFyZHdhcmUgZG9tYWluIGFzIHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aAogICAgLSBzb21lIHN0eWxlIGlzc3VlcyBjb3JyZWN0ZWQgYXMgcmVxdWVzdGVkIGJ5IEphbiBC ZXVsaWNoCiAgICAtIHVzZSBmaXhlZCB3aWR0aCB0eXBlcyBpbiBpbnRlcmZhY2UgYXMgcmVxdWVz dGVkIGJ5IEphbiBCZXVsaWNoCiAgICAtIGFkZCBjb21wYXQgbGF5ZXIgY2hlY2tpbmcgYXMgcmVx dWVzdGVkIGJ5IEphbiBCZXVsaWNoCi0tLQogeGVuL2NvbW1vbi9jb21wYXQvc2NoZWR1bGUuYyB8 ICA0ICsrCiB4ZW4vY29tbW9uL3NjaGVkdWxlLmMgICAgICAgIHwgOTIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9zY2hlZC5o ICAgfCAxNyArKysrKysrKwogeGVuL2luY2x1ZGUveGxhdC5sc3QgICAgICAgICB8ICAxICsKIDQg ZmlsZXMgY2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2NvbW1vbi9jb21wYXQvc2NoZWR1bGUuYyBiL3hlbi9jb21tb24vY29tcGF0L3Nj aGVkdWxlLmMKaW5kZXggODEyYzU1MC4uNzNiMGYwMSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9j b21wYXQvc2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9uL2NvbXBhdC9zY2hlZHVsZS5jCkBAIC0x MCw2ICsxMCwxMCBAQAogCiAjZGVmaW5lIGRvX3NjaGVkX29wIGNvbXBhdF9zY2hlZF9vcAogCisj ZGVmaW5lIHhlbl9zY2hlZF9waW5fdGVtcCBzY2hlZF9waW5fdGVtcAorQ0hFQ0tfc2NoZWRfcGlu X3RlbXA7CisjdW5kZWYgeGVuX3NjaGVkX3Bpbl90ZW1wCisKICNkZWZpbmUgeGVuX3NjaGVkX3No dXRkb3duIHNjaGVkX3NodXRkb3duCiBDSEVDS19zY2hlZF9zaHV0ZG93bjsKICN1bmRlZiB4ZW5f c2NoZWRfc2h1dGRvd24KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9j b21tb24vc2NoZWR1bGUuYwppbmRleCBiMGQ0YjE4Li42NTNmODUyIDEwMDY0NAotLS0gYS94ZW4v Y29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBAIC0yNzEsNiAr MjcxLDEyIEBAIGludCBzY2hlZF9tb3ZlX2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qg Y3B1cG9vbCAqYykKICAgICBzdHJ1Y3Qgc2NoZWR1bGVyICpvbGRfb3BzOwogICAgIHZvaWQgKm9s ZF9kb21kYXRhOwogCisgICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQorICAgIHsKKyAgICAgICAg aWYgKCB2LT5hZmZpbml0eV9icm9rZW4gKQorICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAg ICB9CisKICAgICBkb21kYXRhID0gU0NIRURfT1AoYy0+c2NoZWQsIGFsbG9jX2RvbWRhdGEsIGQp OwogICAgIGlmICggZG9tZGF0YSA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CkBA IC02NjksNiArNjc1LDE0IEBAIGludCBjcHVfZGlzYWJsZV9zY2hlZHVsZXIodW5zaWduZWQgaW50 IGNwdSkKICAgICAgICAgICAgIGlmICggY3B1bWFza19lbXB0eSgmb25saW5lX2FmZmluaXR5KSAm JgogICAgICAgICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgdi0+Y3B1X2hhcmRfYWZm aW5pdHkpICkKICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoIHYtPmFmZmluaXR5 X2Jyb2tlbiApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvKiBUaGUg dmNwdSBpcyB0ZW1wb3JhcmlseSBwaW5uZWQsIGNhbid0IG1vdmUgaXQuICovCisgICAgICAgICAg ICAgICAgICAgIHZjcHVfc2NoZWR1bGVfdW5sb2NrX2lycXJlc3RvcmUobG9jaywgZmxhZ3MsIHYp OworICAgICAgICAgICAgICAgICAgICByZXQgPSAtRUJVU1k7CisgICAgICAgICAgICAgICAgICAg IGJyZWFrOworICAgICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgIGlmIChzeXN0ZW1f c3RhdGUgPT0gU1lTX1NUQVRFX3N1c3BlbmQpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICBjcHVtYXNrX2NvcHkodi0+Y3B1X2hhcmRfYWZmaW5pdHlfc2F2ZWQsCkBAIC03 NTIsMTQgKzc2NiwyMCBAQCBzdGF0aWMgaW50IHZjcHVfc2V0X2FmZmluaXR5KAogICAgIHN0cnVj dCB2Y3B1ICp2LCBjb25zdCBjcHVtYXNrX3QgKmFmZmluaXR5LCBjcHVtYXNrX3QgKndoaWNoKQog ewogICAgIHNwaW5sb2NrX3QgKmxvY2s7CisgICAgaW50IHJldCA9IDA7CiAKICAgICBsb2NrID0g dmNwdV9zY2hlZHVsZV9sb2NrX2lycSh2KTsKIAotICAgIGNwdW1hc2tfY29weSh3aGljaCwgYWZm aW5pdHkpOworICAgIGlmICggdi0+YWZmaW5pdHlfYnJva2VuICkKKyAgICAgICAgcmV0ID0gLUVC VVNZOworICAgIGVsc2UKKyAgICB7CisgICAgICAgIGNwdW1hc2tfY29weSh3aGljaCwgYWZmaW5p dHkpOwogCi0gICAgLyogQWx3YXlzIGFzayB0aGUgc2NoZWR1bGVyIHRvIHJlLWV2YWx1YXRlIHBs YWNlbWVudAotICAgICAqIHdoZW4gY2hhbmdpbmcgdGhlIGFmZmluaXR5ICovCi0gICAgc2V0X2Jp dChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKTsKKyAgICAgICAgLyogQWx3YXlzIGFz ayB0aGUgc2NoZWR1bGVyIHRvIHJlLWV2YWx1YXRlIHBsYWNlbWVudAorICAgICAgICAgKiB3aGVu IGNoYW5naW5nIHRoZSBhZmZpbml0eSAqLworICAgICAgICBzZXRfYml0KF9WUEZfbWlncmF0aW5n LCAmdi0+cGF1c2VfZmxhZ3MpOworICAgIH0KIAogICAgIHZjcHVfc2NoZWR1bGVfdW5sb2NrX2ly cShsb2NrLCB2KTsKIApAQCAtNzcxLDcgKzc5MSw3IEBAIHN0YXRpYyBpbnQgdmNwdV9zZXRfYWZm aW5pdHkoCiAgICAgICAgIHZjcHVfbWlncmF0ZSh2KTsKICAgICB9CiAKLSAgICByZXR1cm4gMDsK KyAgICByZXR1cm4gcmV0OwogfQogCiBpbnQgdmNwdV9zZXRfaGFyZF9hZmZpbml0eShzdHJ1Y3Qg dmNwdSAqdiwgY29uc3QgY3B1bWFza190ICphZmZpbml0eSkKQEAgLTk3OCw2ICs5OTgsNTEgQEAg dm9pZCB3YXRjaGRvZ19kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICBr aWxsX3RpbWVyKCZkLT53YXRjaGRvZ190aW1lcltpXSk7CiB9CiAKK3N0YXRpYyBsb25nIGRvX3Bp bl90ZW1wKGludCBjcHUpCit7CisgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OworICAgIHNw aW5sb2NrX3QgKmxvY2s7CisgICAgbG9uZyByZXQgPSAtRUlOVkFMOworCisgICAgbG9jayA9IHZj cHVfc2NoZWR1bGVfbG9ja19pcnEodik7CisKKyAgICBpZiAoIGNwdSA8IDAgKQorICAgIHsKKyAg ICAgICAgaWYgKCB2LT5hZmZpbml0eV9icm9rZW4gKQorICAgICAgICB7CisgICAgICAgICAgICBj cHVtYXNrX2NvcHkodi0+Y3B1X2hhcmRfYWZmaW5pdHksIHYtPmNwdV9oYXJkX2FmZmluaXR5X3Nh dmVkKTsKKyAgICAgICAgICAgIHYtPmFmZmluaXR5X2Jyb2tlbiA9IDA7CisgICAgICAgICAgICBz ZXRfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2VfZmxhZ3MpOworICAgICAgICAgICAgcmV0 ID0gMDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmICggY3B1IDwgbnJfY3B1X2lkcyAp CisgICAgeworICAgICAgICBpZiAoIHYtPmFmZmluaXR5X2Jyb2tlbiApCisgICAgICAgICAgICBy ZXQgPSAtRUJVU1k7CisgICAgICAgIGVsc2UgaWYgKCBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgVkNQ VTJPTkxJTkUodikpICkKKyAgICAgICAgeworICAgICAgICAgICAgY3B1bWFza19jb3B5KHYtPmNw dV9oYXJkX2FmZmluaXR5X3NhdmVkLCB2LT5jcHVfaGFyZF9hZmZpbml0eSk7CisgICAgICAgICAg ICB2LT5hZmZpbml0eV9icm9rZW4gPSAxOworICAgICAgICAgICAgY3B1bWFza19jb3B5KHYtPmNw dV9oYXJkX2FmZmluaXR5LCBjcHVtYXNrX29mKGNwdSkpOworICAgICAgICAgICAgc2V0X2JpdChf VlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKTsKKyAgICAgICAgICAgIHJldCA9IDA7Cisg ICAgICAgIH0KKyAgICB9CisKKyAgICB2Y3B1X3NjaGVkdWxlX3VubG9ja19pcnEobG9jaywgdik7 CisKKyAgICBkb21haW5fdXBkYXRlX25vZGVfYWZmaW5pdHkodi0+ZG9tYWluKTsKKworICAgIGlm ICggdi0+cGF1c2VfZmxhZ3MgJiBWUEZfbWlncmF0aW5nICkKKyAgICB7CisgICAgICAgIHZjcHVf c2xlZXBfbm9zeW5jKHYpOworICAgICAgICB2Y3B1X21pZ3JhdGUodik7CisgICAgfQorCisgICAg cmV0dXJuIHJldDsKK30KKwogdHlwZWRlZiBsb25nIHJldF90OwogCiAjZW5kaWYgLyogIUNPTVBB VCAqLwpAQCAtMTA4Nyw2ICsxMTUyLDIzIEBAIHJldF90IGRvX3NjaGVkX29wKGludCBjbWQsIFhF Tl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgICAgICBicmVhazsKICAgICB9CiAK KyAgICBjYXNlIFNDSEVET1BfcGluX3RlbXA6CisgICAgeworICAgICAgICBzdHJ1Y3Qgc2NoZWRf cGluX3RlbXAgc2NoZWRfcGluX3RlbXA7CisKKyAgICAgICAgcmV0ID0gLUVGQVVMVDsKKyAgICAg ICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnNjaGVkX3Bpbl90ZW1wLCBhcmcsIDEpICkKKyAgICAg ICAgICAgIGJyZWFrOworCisgICAgICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgaWYgKCAhaXNf aGFyZHdhcmVfZG9tYWluKGN1cnJlbnQtPmRvbWFpbikgKQorICAgICAgICAgICAgYnJlYWs7CisK KyAgICAgICAgcmV0ID0gZG9fcGluX3RlbXAoc2NoZWRfcGluX3RlbXAucGNwdSk7CisKKyAgICAg ICAgYnJlYWs7CisgICAgfQorCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0ID0gLUVOT1NZUzsK ICAgICB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvc2NoZWQuaCBiL3hlbi9pbmNs dWRlL3B1YmxpYy9zY2hlZC5oCmluZGV4IDIyMTk2OTYuLmEwY2U1YTYgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL3B1YmxpYy9zY2hlZC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zY2hlZC5o CkBAIC0xMTgsNiArMTE4LDE3IEBACiAgKiBXaXRoIGlkICE9IDAgYW5kIHRpbWVvdXQgIT0gMCwg cG9rZSB3YXRjaGRvZyB0aW1lciBhbmQgc2V0IG5ldyB0aW1lb3V0LgogICovCiAjZGVmaW5lIFND SEVET1Bfd2F0Y2hkb2cgICAgNgorCisvKgorICogVGVtcG9yYXJpbHkgcGluIHRoZSBjdXJyZW50 IHZjcHUgdG8gb25lIHBoeXNpY2FsIGNwdSBvciB1bmRvIHRoYXQgcGlubmluZy4KKyAqIEBhcmcg PT0gcG9pbnRlciB0byBzY2hlZF9waW5fdGVtcF90IHN0cnVjdHVyZS4KKyAqCisgKiBTZXR0aW5n IHBjcHUgdG8gLTEgd2lsbCB1bmRvIGEgcHJldmlvdXMgdGVtcG9yYXJ5IHBpbm5pbmcgYW5kIHJl c3RvcmUgdGhlCisgKiBwcmV2aW91cyBjcHUgYWZmaW5pdHkuIFRoZSB0ZW1wb3JhcnkgYXNwZWN0 IG9mIHRoZSBwaW5uaW5nIGlzbid0IGVuZm9yY2VkCisgKiBieSB0aGUgaHlwZXJ2aXNvci4KKyAq IFRoaXMgY2FsbCBpcyBhbGxvd2VkIGZvciB0aGUgaGFyZHdhcmUgZG9tYWluIG9ubHkuCisgKi8K KyNkZWZpbmUgU0NIRURPUF9waW5fdGVtcCAgICA3CiAvKiBgIH0gKi8KIAogc3RydWN0IHNjaGVk X3NodXRkb3duIHsKQEAgLTE0OCw2ICsxNTksMTIgQEAgc3RydWN0IHNjaGVkX3dhdGNoZG9nIHsK IHR5cGVkZWYgc3RydWN0IHNjaGVkX3dhdGNoZG9nIHNjaGVkX3dhdGNoZG9nX3Q7CiBERUZJTkVf WEVOX0dVRVNUX0hBTkRMRShzY2hlZF93YXRjaGRvZ190KTsKIAorc3RydWN0IHNjaGVkX3Bpbl90 ZW1wIHsKKyAgICBpbnQzMl90IHBjcHU7Cit9OwordHlwZWRlZiBzdHJ1Y3Qgc2NoZWRfcGluX3Rl bXAgc2NoZWRfcGluX3RlbXBfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHNjaGVkX3Bpbl90 ZW1wX3QpOworCiAvKgogICogUmVhc29uIGNvZGVzIGZvciBTQ0hFRE9QX3NodXRkb3duLiBUaGVz ZSBtYXkgYmUgaW50ZXJwcmV0ZWQgYnkgY29udHJvbAogICogc29mdHdhcmUgdG8gZGV0ZXJtaW5l IHRoZSBhcHByb3ByaWF0ZSBhY3Rpb24uIEZvciB0aGUgbW9zdCBwYXJ0LCBYZW4gZG9lcwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUveGxhdC5sc3QgYi94ZW4vaW5jbHVkZS94bGF0LmxzdAppbmRl eCBmZGExMTM3Li41MmM3MjMzIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94bGF0LmxzdAorKysg Yi94ZW4vaW5jbHVkZS94bGF0LmxzdApAQCAtMTA0LDYgKzEwNCw3IEBACiA/CXBtdV9kYXRhCQkJ cG11LmgKID8JcG11X3BhcmFtcwkJCXBtdS5oCiAhCXNjaGVkX3BvbGwJCQlzY2hlZC5oCis/CXNj aGVkX3Bpbl90ZW1wCQkJc2NoZWQuaAogPwlzY2hlZF9yZW1vdGVfc2h1dGRvd24JCXNjaGVkLmgK ID8Jc2NoZWRfc2h1dGRvd24JCQlzY2hlZC5oCiA/CXRtZW1fb2lkCQkJdG1lbS5oCi0tIAoyLjYu MgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==