From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulpanit Subject: [RFC PATCH 7/9] x86/SVM: Add vcpu scheduling support for AVIC Date: Mon, 19 Sep 2016 00:52:46 -0500 Message-ID: <1474264368-4104-8-git-send-email-suravee.suthikulpanit@amd.com> References: <1474264368-4104-1-git-send-email-suravee.suthikulpanit@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1474264368-4104-1-git-send-email-suravee.suthikulpanit@amd.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.cooper3@citrix.com, Suravee Suthikulpanit , jbeulich@suse.com, sherry.hurwitz@amd.com List-Id: xen-devel@lists.xenproject.org QWRkIGhvb2tzIHRvIG1hbmFnZSBBVklDIGRhdGEgc3RydWN0dXJlIGR1cmluZyB2Y3B1IHNjaGVk dWxpbmcuCgpTaWduZWQtb2ZmLWJ5OiBTdXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0 aGlrdWxwYW5pdEBhbWQuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL2F2aWMuYyB8IDgy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gv eDg2L2h2bS9zdm0vc3ZtLmMgIHwgMTAgKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9hdmljLmMgYi94ZW4v YXJjaC94ODYvaHZtL3N2bS9hdmljLmMKaW5kZXggOTBkZjE4MS4uY2Q4YTlkNCAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vYXZpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3Zt L2F2aWMuYwpAQCAtNDUsNiArNDUsODMgQEAgYXZpY19nZXRfcGh5X2FpdF9lbnRyeShzdHJ1Y3Qg dmNwdSAqdiwgaW50IGluZGV4KQogfQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBBVklDIFZDUFUgU0NIRURVTElO RworICovCitzdGF0aWMgdm9pZCBhdmljX3ZjcHVfbG9hZChzdHJ1Y3QgdmNwdSAqdikKK3sKKyAg ICBzdHJ1Y3QgYXJjaF9zdm1fc3RydWN0ICpzID0gJnYtPmFyY2guaHZtX3N2bTsKKyAgICBpbnQg aF9waHlfYXBpY19pZDsKKyAgICBzdHJ1Y3Qgc3ZtX2F2aWNfcGh5X2FpdF9lbnRyeSBlbnRyeTsK KworICAgIGlmICggIXN2bV9hdmljIHx8ICFzLT5hdmljX3BoeV9pZF9jYWNoZSApCisgICAgICAg IHJldHVybjsKKworICAgIGlmICggdGVzdF9iaXQoX1ZQRl9ibG9ja2VkLCAmdi0+cGF1c2VfZmxh Z3MpICkKKyAgICAgICAgcmV0dXJuOworCisgICAgLyogTm90ZTogQVBJQyBJRCA9IDB4ZmYgaXMg dXNlZCBmb3IgYnJvYWRjYXN0LgorICAgICAqICAgICAgIEFQSUMgSUQgPiAweGZmIGlzIHJlc2Vy dmVkLgorICAgICAqLworICAgIGhfcGh5X2FwaWNfaWQgPSBjcHVfZGF0YVt2LT5wcm9jZXNzb3Jd LmFwaWNpZDsKKyAgICBpZiAoIGhfcGh5X2FwaWNfaWQgPj0gQVZJQ19QSFlfQVBJQ19JRF9NQVgg KQorICAgICAgICByZXR1cm47CisKKyAgICBlbnRyeSA9ICoocy0+YXZpY19waHlfaWRfY2FjaGUp OworICAgIHNtcF9ybWIoKTsKKyAgICBlbnRyeS5ob3N0X3BoeV9hcGljX2lkID0gaF9waHlfYXBp Y19pZDsKKyAgICBlbnRyeS5pc19ydW5uaW5nID0gMTsKKyAgICAqKHMtPmF2aWNfcGh5X2lkX2Nh Y2hlKSA9IGVudHJ5OworICAgIHNtcF93bWIoKTsKK30KKworc3RhdGljIHZvaWQgYXZpY192Y3B1 X3B1dChzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBzdHJ1Y3QgYXJjaF9zdm1fc3RydWN0ICpzID0g JnYtPmFyY2guaHZtX3N2bTsKKyAgICBzdHJ1Y3Qgc3ZtX2F2aWNfcGh5X2FpdF9lbnRyeSBlbnRy eTsKKworICAgIGlmICggIXN2bV9hdmljIHx8ICFzLT5hdmljX3BoeV9pZF9jYWNoZSApCisgICAg ICAgIHJldHVybjsKKworICAgIGVudHJ5ID0gKihzLT5hdmljX3BoeV9pZF9jYWNoZSk7CisgICAg c21wX3JtYigpOworICAgIGVudHJ5LmlzX3J1bm5pbmcgPSAwOworICAgICoocy0+YXZpY19waHlf aWRfY2FjaGUpID0gZW50cnk7CisgICAgc21wX3dtYigpOworfQorCitzdGF0aWMgdm9pZCBhdmlj X3ZjcHVfcmVzdW1lKHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBzdm1fYXZpY19waHlf YWl0X2VudHJ5IGVudHJ5OworICAgIHN0cnVjdCBhcmNoX3N2bV9zdHJ1Y3QgKnMgPSAmdi0+YXJj aC5odm1fc3ZtOworCisgICAgaWYgKCAhc3ZtX2F2aWNfdmNwdV9lbmFibGVkKHYpIHx8ICFzLT5h dmljX3BoeV9pZF9jYWNoZSApCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVCghdGVzdF9i aXQoX1ZQRl9ibG9ja2VkLCAmdi0+cGF1c2VfZmxhZ3MpKTsKKworICAgIGVudHJ5ID0gKihzLT5h dmljX3BoeV9pZF9jYWNoZSk7CisgICAgc21wX3JtYigpOworICAgIGVudHJ5LmlzX3J1bm5pbmcg PSAxOworICAgICoocy0+YXZpY19waHlfaWRfY2FjaGUpPSBlbnRyeTsKKyAgICBzbXBfd21iKCk7 Cit9CisKK3N0YXRpYyB2b2lkIGF2aWNfdmNwdV9ibG9jayhzdHJ1Y3QgdmNwdSAqdikKK3sKKyAg ICBzdHJ1Y3Qgc3ZtX2F2aWNfcGh5X2FpdF9lbnRyeSBlbnRyeTsKKyAgICBzdHJ1Y3QgYXJjaF9z dm1fc3RydWN0ICpzID0gJnYtPmFyY2guaHZtX3N2bTsKKworICAgIGlmICggIXN2bV9hdmljX3Zj cHVfZW5hYmxlZCh2KSB8fCAhcy0+YXZpY19waHlfaWRfY2FjaGUgKQorICAgICAgICByZXR1cm47 CisKKyAgICBlbnRyeSA9ICoocy0+YXZpY19waHlfaWRfY2FjaGUpOworICAgIHNtcF9ybWIoKTsK KyAgICBlbnRyeS5pc19ydW5uaW5nID0gMDsKKyAgICAqKHMtPmF2aWNfcGh5X2lkX2NhY2hlKSA9 IGVudHJ5OworICAgIHNtcF93bWIoKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQVZJQyBBUElzCiAgKi8K IGludCBzdm1fYXZpY19kb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKQpAQCAtOTcsNiArMTc0LDEx IEBAIGludCBzdm1fYXZpY19kb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogICAgIGNsZWFyX2Rv bWFpbl9wYWdlKF9tZm4obWZuKSk7CiAgICAgZC0+YXJjaC5odm1fZG9tYWluLnN2bS5hdmljX3Bo eV9haXRfbWZuID0gbWZuOwogCisgICAgZC0+YXJjaC5odm1fZG9tYWluLnBpX29wcy5waV9zd2l0 Y2hfdG8gPSBhdmljX3ZjcHVfcHV0OworICAgIGQtPmFyY2guaHZtX2RvbWFpbi5waV9vcHMucGlf c3dpdGNoX2Zyb20gPSBhdmljX3ZjcHVfbG9hZDsKKyAgICBkLT5hcmNoLmh2bV9kb21haW4ucGlf b3BzLnZjcHVfYmxvY2sgPSBhdmljX3ZjcHVfYmxvY2s7CisgICAgZC0+YXJjaC5odm1fZG9tYWlu LnBpX29wcy5waV9kb19yZXN1bWUgPSBhdmljX3ZjcHVfcmVzdW1lOworCiAgICAgcmV0dXJuIHJl dDsKIGVycl9vdXQ6CiAgICAgc3ZtX2F2aWNfZG9tX2Rlc3Ryb3koZCk7CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCmlu ZGV4IDQwOTA5NmEuLmFhZmJmYTEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2 bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0xMDExLDYgKzEwMTEsMTAg QEAgc3RhdGljIHZvaWQgc3ZtX2N0eHRfc3dpdGNoX2Zyb20oc3RydWN0IHZjcHUgKnYpCiAgICAg c3ZtX3RzY19yYXRpb19zYXZlKHYpOwogCiAgICAgc3ZtX3N5bmNfdm1jYih2KTsKKworICAgIGlm ICggdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnBpX3N3aXRjaF9mcm9tICkKKyAg ICAgICAgdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnBpX3N3aXRjaF9mcm9tKHYp OworCiAgICAgc3ZtX3ZtbG9hZChwZXJfY3B1KHJvb3Rfdm1jYiwgY3B1KSk7CiAKICAgICAvKiBS ZXN1bWUgdXNlIG9mIElTVHMgbm93IHRoYXQgdGhlIGhvc3QgVFIgaXMgcmVpbnN0YXRlZC4gKi8K QEAgLTEwNTAsNiArMTA1NCw5IEBAIHN0YXRpYyB2b2lkIHN2bV9jdHh0X3N3aXRjaF90byhzdHJ1 Y3QgdmNwdSAqdikKICAgICBzdm1fbHdwX2xvYWQodik7CiAgICAgc3ZtX3RzY19yYXRpb19sb2Fk KHYpOwogCisgICAgaWYgKCB2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5waV9vcHMucGlfc3dp dGNoX3RvICkKKyAgICAgICAgdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnBpX3N3 aXRjaF90byh2KTsKKwogICAgIGlmICggY3B1X2hhc19yZHRzY3AgKQogICAgICAgICB3cm1zcmwo TVNSX1RTQ19BVVgsIGh2bV9tc3JfdHNjX2F1eCh2KSk7CiB9CkBAIC0xMDk1LDYgKzExMDIsOSBA QCBzdGF0aWMgdm9pZCBub3JldHVybiBzdm1fZG9fcmVzdW1lKHN0cnVjdCB2Y3B1ICp2KQogICAg ICAgICB2bWNiX3NldF92aW50cih2bWNiLCBpbnRyKTsKICAgICB9CiAKKyAgICBpZiAoIHYtPmRv bWFpbi0+YXJjaC5odm1fZG9tYWluLnBpX29wcy5waV9kb19yZXN1bWUgKQorICAgICAgICB2LT5k b21haW4tPmFyY2guaHZtX2RvbWFpbi5waV9vcHMucGlfZG9fcmVzdW1lKHYpOworCiAgICAgaHZt X2RvX3Jlc3VtZSh2KTsKIAogICAgIHJlc2V0X3N0YWNrX2FuZF9qdW1wKHN2bV9hc21fZG9fcmVz dW1lKTsKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==